Redis全套-数据类型-Lists

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) LPUSH 命令插入一个新的元素到头部, 而 RPUSH插入一个新元素到尾部。当一个这两个操作在一个空的Key上被执行的时候一个新的列表被创建。相似的,如果一个列表操作清空一个列表那么对应的key将被从key空间删除。这是非常方便的语义,因为他们被调用使用一个空列表完全就像他们被调用时使用一个不存在的键值(可以)做为参数。

注意:LRANGE 需要两个索引,0 表示list的开头第一个,-1 表示list的倒数第一个,即最后一个。-2则便是list的倒数第二个,以此类推。

PUSH一类的命令的返回值为list的长度。一些类表操作和结果的例子:

这些命令都是可变的命令,也就是说你可以一次加入多个元素放入list。

在 Redis 的命令操作中,还有一类重要的操作:POP,它可以弹出一个元素,简单的理解就是获取并删除第一个元素,和 PUSH 类似的是它也支持双边的操作,可以从右边弹出一个元素也可以从左边弹出一个元素,对应的指令为 rpop 和 lpop。

一个列表最多可以包含 4294967295(2的32次方减一) 个元素,这意味着它可以容纳海量的信息,最终瓶颈一般都取决于服务器内存大小。

事实上,在高级的企业架构当中,会把缓存服务器分离开来,因为数据库服务器和缓存服务器的特点各异,比如对于数据库服务器应该用更快、更大的硬盘,而缓存专用服务器则偏向内存性能,一般都是 64GB 起步。

List 阻塞操作

Redis 提供了阻塞式访问 BRPOP 和 BLPOP 命令。 用户可以在获取数据不存在阻塞请求队列,如果在时限内获得数据则立即返回,如果超时还没有数据则返回 null。

猜你喜欢

转载自blog.csdn.net/xiaomucgwlmx/article/details/86627643