您的位置:首页 > 数据库 > Redis

Redis-list类型常用操作命令

2017-12-20 10:40 288 查看
1.lpush key value
在链表的左侧push一个值,当没有key这个链表时,创建这个链表。例如在user链表的左侧添加一个元素:
lpush user admin
2.rpush key value
在链表的右侧push一个值,当没有key这个链表时,创建这个链表。例如在user链表的右侧添加一个元素
rpush user dba
3.lrange key start stop
查看链表中start位置到stop位置的元素,注意,链表元素从左往右是从0开始的,也就是说最左侧的元素编号是0,从右至左是从-1开始的,也就是说最右侧的元素编号是-1。



所以,要查找链表中的所有元素可以使用:lrange key 0 -1
4.lpop key
从链表的左侧弹出一个元素,弹出后元素在链表中会消失。
5.rpop key
从链表的右侧弹出一个元素,弹出后元素在链表中会消失。
6.lrem key count value
从链表中删除元素,count表示要删除几个元素,value表示要删除元素的值,例如有如下链表numbers:
1、2、1、3、4、2、1、3、8、3、2
如果我们执行命令lrem numbers 3 1,那么执行后链表就会变成:
2、3、4、2、3、8、3、2将3个1元素都删除掉了,也就是说从做往右找,找到一个要删除的value就删除掉,直到满足count个元素。注意这里的count值是可以为负数的,如果count为负数表示从右往左删除count绝对值个value元素。
7.ltrim key start stop
截取链表并返回结果的结果,还是以上面的链表为例,如果执行命令ltrim numbers 3 8,那么链表numbers就会变成3、4、2、1、3、8。
8.lindex key index
查询index位置上的元素。
9.llen key
查询链表的长度。
10.linsert key after|before search value
搜索链表的某个元素,在找到的元素前或者后面插入插入value,如果没找到则执行失败什么都不做。例如上面的numbers链表,执行命令
linsert numbers before 1 0后,链表就会变成0、1、2、1、3、4、2、1、3、8、3、2。
11.rpoplpush source dest
将source链表中右侧的元素pop出来,并lpush到链表dest中。

12.brpop|blpop key timeout
brpop或者blpop的作用是等待弹出key的尾或头的元素,也就是说当我们弹出一个链表中的元素时,如果链表中没有元素了,那么我们就等待timeout时间,如果timeout为0表示一直等待。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis 链表