评论

收藏

[NoSQL] Redis链表List相关操作

数据库 数据库 发布于:2021-07-03 18:11 | 阅读数:366 | 评论:0

  1.基本介绍
  List类型其实就是一个双向链表,通过push,pop操作从链表的头部或尾部添加删除元素,这使得list既可以用作栈也可以用作队列
  2.应用场景
  获取最新的10个登录用户信息,
select * from user order by logintime desc limit 10;
  以上SQL语句可以实现需求,但是数据多的时候,全部数据都要受到影响,对数据库的负载比较高,必要情况下,还需要给关键字(id或logintime)设置索引,索引也比较耗费系统资源
  如果通过List链表实现以上功能,可以在list链表中只保留最新的10个数据,每进来一个新数据就删除一个旧数据。每次就可以从链表中直接获得需要的数据。极大节省各方面资源消耗。
DSC0000.jpeg

DSC0001.jpeg

  2. 常用命令
lpush key string // 在key对应list头部添加字符串元素
rpop key // 从list尾部删除元素,并返回删除元素
llen key // 返回key对应list的长度,key不存在返回0,如果key对应的类型不是list返回错误
lrange key start end 返回指定区间的元素,下标从0开始
rpush key string // 在key对应list尾部添加字符串元素
lpop key // 从list头部删除元素
ltrim key start end // 截取list, 保留指定区间内元素
  
关注下面的标签,发现更多相似文章