Redis常用数据类型之list
list类型
- 数据存储需求:存储多个数据,并对数据进入储存空间的顺序进行区分
- 需要的存储结构:一个储存空间保存多个数据,且通过数据可以体现进入的顺序
- list类型:保存多个数据,底层使用双向链表储存结构实现
id_list | 列表 |
---|---|
key | list |
list基本数据类型命令操作
添加/修改数据
- lpush key value [value2...] (从左边添加数据,value可为多个)
- rpush key value [value2..] (从右边添加数据,value可为多个)
获取数据
- lrange key start stop (根据下标获取 从那个下标开,从哪个下标结束) 实例: lrange list 0 2
- lindex key index (根据下标获取数据)
- llen key (获取key的所有数据)
获取并移除
- lpop key (获取的同时,从左边删除一个数据,每次自动删除一个)
- rpop key (获取的同时,从右边删除一个数据,每次自动删除一个)
扩展命令操作
在规定时间内获取并移除数据
- blpop key1 [key2] timeout (在规定时间内获从左取数据,如果在规定时间没有获取到数据,显示(nil))
- brpop key1 [key2] timeout (在规定时间内获从右取数据,如果在规定时间没有获取到数据,显示(nil))
- lrem key count value (移除指定数据)
list操作注意事项
- list保存的数据都是string类型的,数据总容量是有限的,最多2³² -1个元素(4294967292)
- list具有索引的概念,但是操作数据时通常都是以列队的形式进行入队出队操作,或以栈的形式入栈出栈操作
- list可以对数据进行分页操作,通常第一页的信息来源于list,第二页的信息通常通过数据库进行加载