Redis 列表(List)

举报
孙中明 发表于 2022/01/22 23:07:30 2022/01/22
【摘要】 Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。   list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者...

Redis 列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

 

list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。

这使得list既可以用作栈,也可以用作队列。

上进上出 (下进下出)

上进下出 (下进上出)

 

 

list链表类型应用场合:

获得最新的10个登录用户息:

 

select * from user order by logintime desc limit 10;

以上sql语句可以实现用户需求,但是数据多的时候,全部数据都要受到影响查询,对数据库的负载比较高。必要情况还需要给关键字段(id或logintime)设置索引,索引也比较耗费系统资源

如果通过list链表实现以上功能,可以在list链表中只保留最新的10个数据,每进来一个新数据就删除一个旧数据。链表内部只保留最新登录系统的10个用户信息。每次就可以从链表中直接获得需要的数据。极大节省各方面资源消耗。

 

  

通过list链表保存登录系统的最新5个用户信息:

 

→  A   B   C    D   E

 

 

操作

 lpush key string

在key对应1ist的头部添加字符串元素

 

 rpop ke

从1ist的尾部胎除元素,并返回删除元素

 

llen keu返回key

对应1ist的长度,key不存在返回0,如果key对应类型不是1ist返回错误

 

range key start end

返回指定区间内的元素,下标从0开始

 

roush key string

同上,在尾部添加

 

lpop key

从1ist的头部用除元素,并返回删除元素

 

trin key start end截取1ist,保留指定区间内元素

 

 

实例

 

文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。

原文链接:hiszm.blog.csdn.net/article/details/79407675

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。