list数据类型,可以进行堆栈和队列操作。对应消息的订阅和发布有着很大的作用:
常见的操作:
1.用做堆栈
lpush
127.0.0.1:6379> LPUSH mylist 1
(integer) 1
127.0.0.1:6379> LPUSH mylist 2
(integer) 2
127.0.0.1:6379> LPUSH mylist 3
(integer) 3
127.0.0.1:6379> LPUSH mylist 4
(integer) 4
127.0.0.1:6379> LPUSH mylist 5
(integer) 5
127.0.0.1:6379> LRANGE mylist 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379>
2.用做队列
RPUSH
127.0.0.1:6379> RPUSH mylist 1
(integer) 1
127.0.0.1:6379> RPUSH mylist 2
(integer) 2
127.0.0.1:6379> RPUSH mylist 3
(integer) 3
127.0.0.1:6379> RPUSH mylist 4
(integer) 4
127.0.0.1:6379> RPUSH mylist 5
(integer) 5
127.0.0.1:6379> LRANGE mylist 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
127.0.0.1:6379>
关于lrang的用法:
语法:lrang start stop
其中有2种情况:
情况一:
0通常表示第一个元素 1则是表示第二个,依次类推
情况二:
-1表示最后一个元素 -2则表示最后一个元素之前的元素,依次类推
out of rang indexs不是一个错误:
如果start > end: 返回一个empty of list
如果end > 实际的最后一个值,则默认返回最大的值。(end为实际的end)
关于lpop的用法:
语法:lpop key
表示出栈/出队列中的第一个元素,并从原来的list集合中删除该元素
关于LREM的用法:
语法:lrem key count value
删除count个值元素值为value的数据,返回被删除的元素数量。
*count>0 从头往后删除 count<0从尾往前删除
关于lset的用法:
语法:lset key index value
设置链表中指定位置为新值
关于lindex的用法:
语法:lindex key index
返回链表中指定下标的值
关于ltrim的用法:
语法: ltrim key start stop
保留指定范围内的元素。