Redis的List的操作

    xiaoxiao2025-04-19  9

    一、介绍

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

    该list链表类型的应用场合:

           获取最新的5个登录用户信息:select * from user order by logintime  desc limit 5.   这个sql语句可以实现用户需求,但是数据多的时候,全部数据都要受影响,对数据库的负载比较高。必要情况下还需要给数据库字段添加索引(id 或者 logintime),索引也是比较耗费系统资源的。

           如果通过list链表实现以上的功能,可以在list链表中只保留最新的5个数据,每进来一个新数据就删除一个旧的数据,这样就可以每次从list链表中获取最新的5个数据了,极大的减少了各方面的资源消耗。

    二、操作

    1. lpush  key   value     在链表的头部添加一个元素

    现在我们需要添加5个新的登录用户,依次登录的用户是:Steven, Jack, Miles, Albert, Zach

    2. rpop  key    从链表的尾部删除一个元素

    现在我们又有第6个用户Imo登录进来了,但是我们的需求是只保存最新登录的5个用户,那么先登录的用户Steven应该被删除掉。

    3. lrange key  start  end   返回指定区间内的元素,下标从0开始

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

    5. rpush  key   value    在key对应的list链表的尾部添加元素

    6. lpop  key   从list链表的头部删除元素,并返回删除的元素

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

    转载请注明原文地址: https://ju.6miu.com/read-1298237.html
    最新回复(0)