lists类型

给你个图;'

lists类型以及操作
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是每一个子元素都是String类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。

操作:
lpush
从头部添加字符串元素

127.0.0.1:> lpush list1 one
(integer) //数字表示list的长度
127.0.0.1:> lpush list1 two
(integer)
127.0.0.1:> lrange list1 - // 0表示开始展示的元素所在的下标,1表示最后展示的元素所在位置的下标,最后就是-1.0在头的开始位置
) "two"
) "one"
127.0.0.1:> lpush list1 three four
(integer)

rpush
在key对应的list尾部添加字符串元素

127.0.0.1:> rpush list01 hello
(integer)
127.0.0.1:> rpush list01 world
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "world"

linsert
向key对应的list的指定元素前或后插入元素

127.0.0.1:> linsert list01 before "world" java
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "java"
) "world"
127.0.0.1:> linsert list01 after "world" "jiangxi"
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "java"
) "world"
) "jiangxi"

lrange
查看指定下标范围的对应list中的值

127.0.0.1:> lrange list01  -
) "hello"
) "java"
) "world"
) "jiangxi"
127.0.0.1:> lrange list01
) "java"
) "world"

Lset
设置list中指定下标的值

127.0.0.1:> lset list01  "hi"
OK
127.0.0.1:> lrange list01 -
) "hi"
) "java"
) "world"
) "jiangxi"
127.0.0.1:>

lrem
从key对应的list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除)

127.0.0.1:> lpush list01 hello world hello world world hello hi my my hello hello
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "hello"
) "my"
) "my"
) "hi"
) "hello"
) "world"
) "world"
) "hello"
) "world"
) "hello"
127.0.0.1:> lrem list01 "hello"
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "my"
) "my"
) "hi"
) "hello"
) "world"
) "world"
) "hello"
) "world"
) "hello"
127.0.0.1:> lrem list01 - "hello"
(integer)
127.0.0.1:> lrange list01 -
) "hello"
) "my"
) "my"
) "hi"
) "hello"
) "world"
) "world"
) "hello"
) "world"
127.0.0.1:> lrem list01 "hello"
(integer)
127.0.0.1:> lrange list01 -
) "my"
) "my"
) "hi"
) "world"
) "world"
) "world"
127.0.0.1:>

ltrim
保留指定key的值范围内的数据,其他的删除

127.0.0.1:> lrange list01  -
) "my"
) "my"
) "hi"
) "world"
) "world"
) "world"
127.0.0.1:> ltrim list01
OK
127.0.0.1:> lrange list01 -
) "my"
) "hi"

lpop
从list的头部删除元素,并返回删除元素

127.0.0.1:> lrange list01  -
) "my"
) "hi"
127.0.0.1:> lpop list01
"my"
127.0.0.1:> lrange list01 -
) "hi"

rpop
从list的尾部删除元素,并返回删除元素

127.0.0.1:> lrange list01  -
) "my"
) "name"
) "is"
127.0.0.1:> rpop list01
"is"
127.0.0.1:> lrange list01 -
) "my"
) "name"
127.0.0.1:>

rpoplpush
从第一个list的尾部移除元素并添加到第二个list的头部

127.0.0.1:> lrange list01  -
) "my"
) "name"
) "is"
) "guo"
) "daxia"
127.0.0.1:> lpush list02 i like java
(integer)
127.0.0.1:> lrange list02 -
) "java"
) "like"
) "i"
127.0.0.1:> rpoplpush list01 list02
"daxia"
127.0.0.1:> lrange list01 -
) "my"
) "name"
) "is"
) "guo"
127.0.0.1:> lrange list02 -
) "daxia"
) "java"
) "like"
) "i"

lindex
返回名称为key的list中index位置的元素

127.0.0.1:> lrange list01  -
) "my"
) "name"
) "is"
) "guo"
) "daxia"
127.0.0.1:> lindex list01
(nil)
127.0.0.1:> lindex list01
"daxia"

llen
返回key对应的list的长度

127.0.0.1:> lrange list01  -
) "my"
) "name"
) "is"
) "guo"
) "daxia"
127.0.0.1:> llen list01
(integer)

redis的list类型以及其操作的更多相关文章

  1. redis的Hash类型以及其操作

    hashes类型 hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是0(1)(平均).hash特别适合用于存储对象.相较于将对象的 ...

  2. redis的String类型以及其操作

    Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...

  3. 直接在安装了redis的Linux机器上操作redis数据存储类型--对Sorted-Sets操作

    一.概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score ...

  4. 第二百九十七节,python操作redis缓存-List类型,可以理解为列表

    python操作redis缓存-List类型,可以理解为列表,是可以有重复元素的列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: lpush(name ...

  5. 第二百九十五节,python操作redis缓存-字符串类型

    python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直 ...

  6. 三:redis的List类型相关操作

    </pre><pre name="code" class="php" style="font-size: 14px;"&g ...

  7. 直接在安装了redis的Linux机器上操作redis数据存储类型--String类型

    一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...

  8. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  9. [redis] redis 对string类型数据操作

    package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...

随机推荐

  1. jmeter+http接口测试

    参考: http://blog.csdn.net/github_27109687/article/details/71968662   Jmeter接口测试+压力测试 http://blog.csdn ...

  2. 【Thinking in Java, 4e】访问权限控制

    [包:库单元] 编译单元的概念. 一个.java文件就是一个编译单元,一个编译单元只能有一个public类,编译单元中的非public类一般是用于为public类提供支持的,这些类在包外不可见. im ...

  3. Centos75 解决Nginx出现403 forbidden(13: Permission denied)

    Centos75 新安装的vm,nginx出现403 forbidden 一般为SELinux设置为开启状态(enabled)的原因 切为root ,执行: sed -i 's/SELINUX=enf ...

  4. [NOI2014]动物园(kmp)

    题目 https://www.luogu.org/problemnew/show/P2375 做法 查找多少个前缀与后缀配对,其实就是\(fail\)树的深度 而不可重叠,其实\(i\)不可用的,\( ...

  5. CSS Float(浮动)

    CSS Float(浮动) 一.CSS Float(浮动) CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列. Float(浮动),往往是用于图像,但它在布局时一样非常 ...

  6. CSS Backgrounds(背景)

    CSS Backgrounds(背景) CSS 背景属性用于定义HTML元素的背景. CSS 属性定义背景效果: background-color background-image backgroun ...

  7. 20145216史婧瑶《Java程序设计》第二次实验报告

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  8. Hive-0.13安装

    Hive只需在使用节点安装即可. 1.上传tar包.解压   tar -zxvf apache-hive-0.13.0-bin.tar.gz -C /hadoop/  配置HIVE_HOME环境变量  ...

  9. 防止XSS攻击的方式

    主要有三种请求方式,进行过滤替换非法符号 1.普通的GET请求数据: 2.FORM表单提交数据: 3.Json格式数据提交: 把下面5个文件放入项目中即可 package com.joppay.adm ...

  10. AccessTokens

    https://www.oauth.com/oauth2-servers/access-tokens/ Access tokens are the thing that applications us ...