星空网 > 软件开发 > ASP.net

Redis命令拾遗三(列表List类型)

Redis五种数据类型之列表类型

Redis五种数据类型之列表类型。你可以存储一个有序的字符串列表一类数据。比如你想展示你所存储的所有文章中的前十条,当分页取下一页的时候,你也可以取接下来的十条。所以建议你维护一个文章ID的列表。其内部使用双向链表实现,这意味着在你获取一段头部和尾部的数据是极快的,但是在数据量大时获取列表中间部分的数据稍慢。因为链表通过索引访问数据。比如微信的朋友圈,我们关注的大部分只是最新的数据,所以这样的场景很合适。同时,在插入数据时,也是在左右两端插入,效率也不会受到影响。

下面简单介绍一下命令:

LPUSH Key Values.....  我们插入 3 4 5 6 7 8插入后 他们的结构应该是 8 7 6 5 4 3因为是一直向左插入嘛。

1.RPUSH自然就是向右插入。

Redis命令拾遗三(列表List类型)

2.LRANGE Key Start End命令,获取指定key的开始到结束索引的值。索引从0开始。负数索引的话,最右侧的元素是-1。如果说end小于start则返回空列表。0到-1的数据,自然就是最左侧到最右侧了。当然你也可以0-正值索引结束,返回的还是这几个数据。

Redis命令拾遗三(列表List类型)

3.LPOP分别是从列表的最左侧和最右侧弹出一个元素,弹出也就是取出数据后从原列表移除掉了。Redis消息队列也正是依据这样的列表和弹出的原理。

Redis命令拾遗三(列表List类型)

4.LLEN Key获取指定Key的集合长度。

Redis命令拾遗三(列表List类型)

5.LINDEX Key index  返回指定Key的指定索引位置的值。

Redis命令拾遗三(列表List类型)

6.LSET Key index val 替换指定索引(已存在的哟)位置的原有值。

Redis命令拾遗三(列表List类型)

如果你的索引值超过集合界限,那么返回如下错误。如果你获取超过索引范围的值,那么会返回nil

Redis命令拾遗三(列表List类型)

7.LTRIM key start end 删除指定索引外的所有值。比如你想实现一个只展示最新TOP10条的新闻列表,那么你就可以让LPUSH和LTRIM配合一下了。每次在左侧插入新数据后,都继续执行LTRIM key 0 9。其他数据自然删除了。

Redis命令拾遗三(列表List类型)

8.LINSERT 在指定Key的执行值(注意是值,不是索引)的前面BEFORE或者后面AFTER插入目标值。如果你存在重复值,那么会报Arguments冲突。

Redis命令拾遗三(列表List类型)

9.RPOPLPUSH  弹出右侧元素,并且存到新的集合中。如果你需要循环利用一个集合中的数据,你也可以RPOPLPUSH sourceList sourceList。从源集合到源集合当中。

Redis命令拾遗三(列表List类型)

Redis命令拾遗三(列表List类型)

10.LREM,删除指定Key中前多少个值为xxx的元素

Redis命令拾遗三(列表List类型)

 

 

 

 

有些命令你可能今天用不到,但是积累起来,相信有一天需求一出现,你立马能反应出来。

 




原标题:Redis命令拾遗三(列表List类型)

关键词:Redis

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流