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