redis渐入佳境(03) list类型
redies的list类型是一个兼具栈和队列特性的数据结构,主要方法有如下:lpush、rpush、lrange、linsert、lset、lrem、ltrim、lpop、rpop、rpoplpush、lindex、llen
下面通过具体的例子来逐个说明其用法:
lpush 从上部压入元素 返回list的长度
rpush 从底部压入元素 返回list的长度
lrange 显示元素 的数字是个区间 如果是0 -1 就说明是显示全部
redis 127.0.0.1:6379> lpush list3 one //压入元素
(integer) 1
redis 127.0.0.1:6379> lpush list3 two //压入元素
(integer) 2
redis 127.0.0.1:6379> lpush list3 www //压入元素
(integer) 3
redis 127.0.0.1:6379> rpush list3 com //底部压入元素
(integer) 4
redis 127.0.0.1:6379> lrange list3 0 -1//显示全部元素
1) "www"
2) "two"
3) "one"
4) "com"
redis 127.0.0.1:6379> lrange list3 0 2 //显示部分元素
1) "www"
2) "two"
3) "one"
redis 127.0.0.1:6379>
linsert 在某个元素前插入,即可以指定插入的元素的位置、
lset、将指定队列的指定索引位置的值更改
lrem、移除值 指定移除的个数
ltrim 保留部分值
redis 127.0.0.1:6379> lrange list3 0 -1
1) "www"
2) "two"
3) "one"
4) "com"
redis 127.0.0.1:6379> linsert list3 before one four //在one的上面插入
(integer) 5
redis 127.0.0.1:6379> lrange list3 0 -1//显示插入后的结果
1) "www"
2) "two"
3) "four"
4) "one"
5) "com"
redis 127.0.0.1:6379> lset list3 0 mmm //把第一个设置成mmm
OK
redis 127.0.0.1:6379> lrange list3 0 -1//显示结果
1) "mmm"
2) "two"
3) "four"
4) "one"
5) "com"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mmm"
2) "mmm"
3) "mm"
4) "mmm"
5) "two"
6) "four"
7) "one"
8) "com"
redis 127.0.0.1:6379> lrem list3 2 mmm //移除两个mmm的元素
(integer) 2
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mm"
2) "mmm"
3) "two"
4) "four"
5) "one"
6) "com"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mm"
2) "mmm"
3) "two"
4) "four"
5) "one"
6) "com"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ltrim list3 1 4//保留 2-5的数据
OK
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mmm"
2) "two"
3) "four"
4) "one"
redis 127.0.0.1:6379>
lpop、返回并删除顶部元素
rpop、返回并删除底部元素
rpoplpush、返回删除左list并压入右序列
lindex、根据索引返回值
llen 返回list的长度
redis 127.0.0.1:6379> lrange list3 0 -1
1) "mmm"
2) "two"
3) "four"
4) "one"
redis 127.0.0.1:6379> lpop list3 //移除顶部的mmm
"mmm"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "two"
2) "four"
3) "one"
redis 127.0.0.1:6379> rpop list3 //移除底部的元素
"one"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "two"
2) "four"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> lrange list4 0 -1
1) "list4_1"
redis 127.0.0.1:6379> rpoplpush list3 list4//移除并添加
"four"
redis 127.0.0.1:6379> lrange list3 0 -1
1) "two"
redis 127.0.0.1:6379> lrange list4 0 -1
1) "four"
2) "list4_1"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> lindex list4 0//根据索引返回值
"two"
redis 127.0.0.1:6379> lindex list4 1//根据索引返回值
"list4_1"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> llen list4 //返回list的长度
(integer) 2
redis 127.0.0.1:6379>
end;
页:
[1]