plsql大字段保存类型_Redis数据类型list链表类型

redis数据类型:

list链表类型

list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list即可以用作栈,也可以用作队列。

f4762da70d3bcf05da82a457ab17afa9.png

该list链表类型应用场合:获得最新的5个登录用户信息:

select * from user order by logintime desc limit 5;

以上sql语句可以实现用户需求,但是数据多的时候,全部数据都要受到影响,对数据库的负载比较高,必要情况还需要给关键字段(id或logintime)设置索引,索引也比较耗费系统资源,如果通过list链表实现以上功能,可以在list链表中只保留最新的5个数据,每进来一个新数据就删除一个旧数据,每次就可以从链表中直接获得需要的数据,极大节省各方面资源消耗。

3e0edcf9afa31225d7167fd7c683b416.png

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

13a80711fa83e81dd29244941c3855ef.png

lpush向链表的头部放入数据

f2d835eadc133b37315442ebe4de15f8.png

rpush向链表的尾部放入数据

b1db24298235a20f9b4314c138048861.png

lrange获取链表里面的数据

22de88255ec63a263a1a377a9f01aac1.png

lpop在链表的左侧弹出第一个数据

25859634449bc2fe23ad50fe6c929ced.png

rpop在链表的右侧弹出最后一个数据

62607bf5db0602581cd92d0a5b7a98d1.png

一个实际的应用:获取最新登录的5个用户
先来选择索引为1号的数据库:

b6d48806ca633a094de3cd3a290f69cd.png

设置一个list链表,其key为newlogin,内部有目前较新的5个用户:

f9316ed2d5fb22d35c16b83a8a0a79e8.png

Jack   xiaoming    linken    mary    tom

又来一个用户,咱们这个列表只能保存5个用户,那该链表每增加一个新元素,就删除一个旧元素:

ba473bb9ffeb32012ffeac14c3d1ee45.png

查看现在链表中的人员情况:

02d75f387e30aac056df4ab29b32cf31.png

也可以下面这样查看:

d9ada81063848e14513b198f139ab853.png

再来一个新用户:

ea1389c7aa694f0baba3fd4f7c881920.png

ee6fa08357a8a3b0e1e0a7b668fb8c83.png

llen key:返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误。

fce01f35a559866e15c3e29c87841dca.png

c3eb35089c06907a78ef05dcf925e27e.png

ltrim key start end:截取list,保留指定区间内的元素

80d5fdd6519815578fd15cc74888ba5f.png

aa4e28aa6916d5a815284e6629a2eee9.png

上进上出:栈

上进下出:队列

fd8baa5340d08b0f03129c27d110deca.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值