Redis——list相关命令

redis中的 list 可当成栈、队列、阻塞队列。命令以 l 开头。

插入值到列表的头部(左边)和尾部(右边)。允许插入重复值。(list也允许使用lset等方式赋值,但前提是list存在)

lpush list v1

lpush list v2

lpush list v3

此时查看列表所有值,则得到一个从左往右倒序的列表。因为lpush总是从列表的左侧插入:

lrange list 0 -1:

"v3" "v2" "v1"

若想往列表右侧插入,那么使用rpush即可:

rpush list v0

再次遍历列表,得到:

"v3" "v2" "v1" "v0"

 

从头、尾删除元素

Lpop list  //移除头部元素(左侧)

Rpop list  //移除尾部元素(右侧)

 

删除指定元素,注意这里的 n ,当n带的符号不一样时,其含义也不一样:

lrem list n value    //删除列表中从头部往尾部数出现的前n个值为value的元素

lrem list -n value   //删除列表中从尾部往头部数最后出现的n个值为value的元素

lrem list 0 value    //删除列表中所有值为value的元素

 

 

截取指定子列表。当start > end 时,直接将列表变成空表,当end > Llen时,默认将end改为尾部元素

ltrim list 0 2    //表示截取list从头到尾前3个元素

 

根据下标获取list中的某一个值

Lindex list index

 

获取列表的长度

Llen list 

 

移除列表中末尾元素,并将其移动到新的列表中,组合命令

rpoplpush oldlist  newlist   //oldlist的末尾会少一个元素,并生成新的newlist,里面的元素就是lodlist之前的末尾元素

 

上一篇:php – reCaptcha无效;它没有回归成功


下一篇:Redis核心技术与实战-学习笔记(九):切片集群