List(列表)
127.0.0.1:6379> lpush list one #从左边插入,先进的在最后 (integer) 1 127.0.0.1:6379> lpush list two three (integer) 3 127.0.0.1:6379> lrange list 0 -1 #获取list中的值 1) "three" 2) "two" 3) "one" 127.0.0.1:6379> lrange list 1 1 #通过区间获取具体的值 1) "two"
127.0.0.1:6379> rpush list one two three four #从右边插入,先进的在第一个 (integer) 4 127.0.0.1:6379> lrange list 0 -1 1) "one" 2) "two" 3) "three" 4) "four" 127.0.0.1:6379> lpop list #移除list的第一个元素 "one" 127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "three" 3) "four" 127.0.0.1:6379> rpop list #移除list的最后一个元素 "four" 127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "three"
可以使用(lpush,lpop)实现栈,使用(lpush,rpop)实现队列。
127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "three" 127.0.0.1:6379> lindex list 0 #通过下标获取列表中对应的值 "two" 127.0.0.1:6379> lindex list 1 "three" 127.0.0.1:6379> lindex list 2 (nil)
127.0.0.1:6379> lpush list one two three four (integer) 4 127.0.0.1:6379> lrange list 0 -1 1) "four" 2) "three" 3) "two" 4) "one" 127.0.0.1:6379> llen list #获取列表的长度 (integer) 4 127.0.0.1:6379> lpush list five (integer) 5 127.0.0.1:6379> llen list (integer) 5
127.0.0.1:6379> lrem list 2 one #移除list集合中指定个数的value,精确匹配 (integer) 1 127.0.0.1:6379> lrange list 0 -1 1) "five" 2) "four" 3) "three" 4) "two" 127.0.0.1:6379> lrem list 1 three (integer) 1 127.0.0.1:6379> lrange list 0 -1 1) "five" 2) "four" 3) "two"
127.0.0.1:6379> lpush list one two three four (integer) 4 127.0.0.1:6379> lrange list 0 -1 1) "four" 2) "three" 3) "two" 4) "one" 127.0.0.1:6379> ltrim list 1 2 #通过下标截取指定的长度,这个list已经被改变,只剩下截取的元素 OK 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two"
127.0.0.1:6379> lpush list one two three (integer) 3 127.0.0.1:6379> lpush mylist 1 2 3 (integer) 3 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "one" 127.0.0.1:6379> lrange mylist 0 -1 1) "3" 2) "2" 3) "1" 127.0.0.1:6379> rpoplpush list mylist #移除列表的组后一个元素,将它移动到新的列表 "one" 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 127.0.0.1:6379> lrange mylist 0 -1 1) "one" 2) "3" 3) "2" 4) "1"
#lset 将列表中指定的下标的值替换为另一个值,更新操作 127.0.0.1:6379> exists list #判断这个列表是否存在 (integer) 0 127.0.0.1:6379> lset list 0 one # 如果不存在列表,则更新报错 (error) ERR no such key 127.0.0.1:6379> lpush list one (integer) 1 127.0.0.1:6379> lrange list 0 0 1) "one" 127.0.0.1:6379> lset list 0 two #如果存在,则更新下标的值 OK 127.0.0.1:6379> lindex list 0 "two" 127.0.0.1:6379> lset list 1 two (error) ERR index out of range
#linsert 将某个具体的value插入到列中某个元素的前面或后面 127.0.0.1:6379> lpush list one two three (integer) 3 127.0.0.1:6379> linsert list before one four (integer) 4 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "four" 4) "one" 127.0.0.1:6379> linsert list after one five #在list的指定元素one后面插入一个值five (integer) 5 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "four" 4) "one" 5) "five"
消息排队,消息队列(lpush,rpop),栈(lpush,lpop)
posted on
浙公网安备 33010602011771号