简介: Redis 数据类型list以及使用场景数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序list类型:保存多个数据,底层使用双向链表存储结构实现list 类型数据基本操作添加/修改数据lpush key value1 [value2] ……
rpush key value1 [value2] ……左边插入
文章图片
右边插入
文章图片
获取数据lrange key start stop//获取指定步长列表
lindex key index//获取指定下标
llen key//获取指定长度
文章图片
sotp为-1就是结尾
文章图片
【Redis 数据类型list以及使用场景】
文章图片
获取并移除数据lpop key
rpop key这里你理解成lpop是从栈顶出,rpop是从栈底出就明白了(或者链表表头和表尾)
文章图片
文章图片
list 类型数据扩展操作规定时间内获取并移除数据blpop key1 [key2] timeout//移出并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
brpop key1 [key2] timeout //移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
brpoplpush source destination timeout //从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它;如果列表没有元素会阻塞列表知道等待超时或发现可弹出元素为止
文章图片
没有元素的话,首先进行阻塞,然后再左侧插入一个,右边立马就可以移除了。
文章图片
业务场景微信朋友圈点赞,要求按照点赞顺序显示点赞好友信息如果取消点赞,移除对应好友信息移除指定数据lrem key count valuecount 为零时移除所有 不为零 移除几个就count为几
文章图片
redis 应用于具有操作先后顺序的数据控制list 类型数据操作注意事项list中保存的数据都是string类型的,数据总容量是有限的,最多2的32次方-1个元素 (4294967295)。list具有索引的概念,但是操作数据时通常以队列的形式进行入队出队操作,或以栈的形式进行入栈出栈操作获取全部数据操作结束索引设置为-1list可以对数据进行分页操作,通常第一页的信息来自于list,第2页及更多的信息通过数据库的形式加载业务场景twitter、新浪微博、腾讯微博中个人用户的关注列表需要按照用户的关注顺序进行展示,粉丝列表需要将最近关注的粉丝列在前面。新闻、资讯类网站如何将最新的新闻或资讯按照发生的时间顺序展示。企业运营过程中,系统将产生出大量的运营数据,如何保障多台服务器操作日志的统一顺序输出。list 类型应用场景解决方案依赖list的数据具有顺序的特征对信息进行管理使用队列模型解决多路信息汇总合并的问题使用栈模型解决最新消息的问题redis 应用于最新消息展示原文链接:https://click.aliyun.com/m/10...本文为阿里云原创内容,未经允许不得转载。
推荐阅读
- 一种关于低代码平台(LCDP)建设实践与设计思路
- java|FPGA时序约束分享01_约束四大步骤
- 技术交流|#SpringMvc 了解请求处理的流程,简化说明(图解)
- javascript|性能吊打 Node.js 和 Deno 的新一代 javaScript 运行时-Bun.js
- YY|【C语言】通讯录《静态内存版本》
- 【C】系列|【C语言】内存函数
- Java开发|Mybatisplus的代码生成器
- EasyNLP集成K-BERT算法,借助知识图谱实现更优Finetune
- MySQL|深入浅出MySQL灵魂十连问,你真的有把握吗()