list类型:
数据存储需求,存储多个数据,并对数据进入存储空间的顺序进行区分
- 需要的存储结构,一个存储空间保存多个数据,且通过数据可以体现进入顺序
- list类型:保存多个数据,底层使用双向链表存储结构实现
基本操作:
- 添加数据:
lpsuh key value1 [value2....] #左插入
rpush key value1 [value2....] #右插入
- 获取数据
lrange key StartVal EndVal #左遍历
rrange key StartVal EndVal #右遍历
lindex key index
- 获取字符长度
llen key
- 获取并移除数据
lpop key value
rpop key value
- 规定时间内获取并移除数据
blpop key [key1 .....] timeout
brpop key [key1......]timeout
应用场景1
一般应用于微信盆友圈点赞,按照队列的形式显示点赞的微信好友,如果中途有人取消点赞,则对应的需要将取消点赞的好友移除队列,并将下一个人顶替移除好友的位置上来
解决方案:
powershell lrem key count value
Redis应用于具有先后顺序的数据控制
应用场景2
应用最新消息的提示
原理:
- 依赖list的数据具有顺序的特征对信息进行管理
- 使用队列模型解决多路信息汇总合并的问题
- 使用栈模型解决最新消息的问题
注意事项:
- list中保存的数据都是string类型的,数据总容量是有限的
- list具有索引的概念,但是操作数据时通常从队列的形式进行入队和出队操作,或以栈的形式操作
- 获取全部数据的操作结束是索引通常设为-1
- list可以对数据进行分页操作,通常第一页的信息来自于list,第二页及更多信息通过数据库的形式加载