数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
list类型:保存多个数据,底层使用双向链表存储结构实现
list 类型数据基本操作
lpush key value1 [value2] ……
rpush key value1 [value2] ……
左边插入

右边插入

lrange key start stop
lindex key index
llen key

sotp为-1就是结尾


lpop key
rpop key
这里你理解成lpop是从栈顶出,rpop是从栈底出就明白了(或者链表表头和表尾)


list 类型数据扩展操作
blpop key1 [key2] timeout
brpop key1 [key2] timeout
brpoplpush source destination timeout

没有元素的话,首先进行阻塞,然后再左侧插入一个,右边立马就可以移除了。

微信朋友圈点赞,要求按照点赞顺序显示点赞好友信息
如果取消点赞,移除对应好友信息
lrem key count value
count 为零时移除所有 不为零 移除几个就count为几

redis 应用于具有操作先后顺序的数据控制
list 类型数据操作注意事项
- list中保存的数据都是string类型的,数据总容量是有限的,最多2的32次方-1个元素 (4294967295)。
- list具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作,或以栈的形式进行入栈出栈操作
- 获取全部数据操作结束索引设置为-1
- list可以对数据进行分页操作,通常第一页的信息来自于list,第2页及更多的信息通过数据库的形式加载
- 业务场景
twitter、新浪微博、腾讯微博中个人用户的关注列表需要按照用户的关注顺序进行展示,粉丝列表需要将最
近关注的粉丝列在前面。
新闻、资讯类网站如何将最新的新闻或资讯按照发生的时间顺序展示。
企业运营过程中,系统将产生出大量的运营数据,如何保障多台服务器操作日志的统一顺序输出。
- list 类型应用场景
- 解决方案
依赖list的数据具有顺序的特征对信息进行管理
使用队列模型解决多路信息汇总合并的问题
使用栈模型解决最新消息的问题
redis 应用于最新消息展示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-08-18 解密万亿参数M6模型预训练背后的分布式框架Whale
2021-08-18 KubeDL 加入 CNCF Sandbox,加速 AI 产业云原生化
2021-08-18 DataWorks 功能实践速览
2021-08-18 谁来拯救存量SGX1平台?又一个内核特性合并的血泪史
2021-08-18 coredump 瘦身风云
2020-08-18 实时化或成必然趋势?新一代 Serverless 实时计算引擎