Redis 列表(List)

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,保留指定区间内元素

 

 

实例

 

posted @ 2018-03-01 08:43  孙中明  阅读(143)  评论(0编辑  收藏  举报