数据类型List链表
(1)介绍list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。该list链表类型应用场景:获得最新的10个登录用户信息:select * from user order by logintime desc limit 10;以上sql语句可以实现用户需求,但是数据多的时候,全部数据都要受到影响,对数据库的负载比较高。必要情况还需要给关键字段(id或logintime)设置索引,索引也比较耗费系统资源。如果通过list链表实现以上功能,可以在list链表中只保留最新的10个数据,每进来一个新数据就删除一个旧数据。每次就可以从链表中直接获得需要的数据。极大节省各方面资源消耗。(2)操作指令lpush key string 在key对应list的头部添加字符串元素lpop key 从list的头部删除元素,并返回删除元素rpush key string 在key对应list的尾部添加字符串元素rpop key 从list的尾部删除元素,并返回删除元素llen key 返回 key 对应list的长度,key不存在返回0,如果key对应类型不是list返回错误lrange key start end 返回指定区间内的元素,下标从0开始ltrim key start 截取list,保留指定区间内元素实践:通过list链表保存登录系统的最新的5个用户信息:例子数据jim xiaoli jack xiaoming linken mary tom注:tom是第六个,我们先存5个,当第六个出现的时候,我们看看结果会不会改变。1.设置一个list链表key newlogin,内部有5个元素:2.当第六个用户tom进来的时候,我们要将尾部的元素(其实就是jim)删除该链表每增加一个新元素,就删除一个旧元素3.我们使用lrange key start end来查看现有的五个数据然后看一下实际长度,其实也是5:我们现在只留中间三个人的信息,可以使用ltrim指令截取list:
转载请注明出处: