list类型:

数据存储需求,存储多个数据,并对数据进入存储空间的顺序进行区分

  • 需要的存储结构,一个存储空间保存多个数据,且通过数据可以体现进入顺序
  • list类型:保存多个数据,底层使用双向链表存储结构实现

基本操作:

  • 添加数据:
lpsuh key value1 [value2....] #左插入
rpush key value1 [value2....] #右插入

list 存redis list存redis用什么方法_应用场景

  • 获取数据
lrange key StartVal EndVal  #左遍历
rrange key StartVal EndVal  #右遍历

list 存redis list存redis用什么方法_应用场景_02

lindex key index

list 存redis list存redis用什么方法_队列_03

  • 获取字符长度
llen key

list 存redis list存redis用什么方法_数据_04

  • 获取并移除数据
lpop key value
rpop key value

list 存redis list存redis用什么方法_队列_05

  • 规定时间内获取并移除数据
blpop key [key1 .....] timeout
brpop key [key1......]timeout

list 存redis list存redis用什么方法_存储结构_06

应用场景1

一般应用于微信盆友圈点赞,按照队列的形式显示点赞的微信好友,如果中途有人取消点赞,则对应的需要将取消点赞的好友移除队列,并将下一个人顶替移除好友的位置上来

list 存redis list存redis用什么方法_list 存redis_07

list 存redis list存redis用什么方法_存储结构_08

list 存redis list存redis用什么方法_存储结构_09


解决方案:

powershell lrem key count value

list 存redis list存redis用什么方法_队列_10


Redis应用于具有先后顺序的数据控制

应用场景2

应用最新消息的提示
原理:

  • 依赖list的数据具有顺序的特征对信息进行管理
  • 使用队列模型解决多路信息汇总合并的问题
  • 使用栈模型解决最新消息的问题

注意事项:

  • list中保存的数据都是string类型的,数据总容量是有限的
  • list具有索引的概念,但是操作数据时通常从队列的形式进行入队和出队操作,或以栈的形式操作
  • 获取全部数据的操作结束是索引通常设为-1
  • list可以对数据进行分页操作,通常第一页的信息来自于list,第二页及更多信息通过数据库的形式加载