• redis数据结构-list


     

    1.存储lists类型

    Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表 一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不 存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移 除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是 4294967295。

        从元素插入和删除的效率视角来看,如果我们是在链表的两头插入或删除元素,这将 会是非常高效的操作,即使链表中已经存储了百万条记录,该操作也可以在常量时间 内完成。然而需要说明的是,如果元素插入或删除操作是作用于链表中间,那将会是 非常低效的。相信对于有良好数据结构基础的开发者而言,这一点并不难理解。

     1)lpush key value1 value2 ... :在指定的key所关联的list的头部插入所有的values,如果该key不存在,在命令在插入的之前创建一个与该key关联的空链表,之后在向该链表的头部插入数据,插入成功,返回元素的个数
    2)rpush key value1,value2 ... :在list尾部添加元素
    3)lrange key start end:获取链表中从start到end的元素的值,start,end可为负数,若为-1则表示链表尾部的元素,-2表示倒数第二个,以此类推
    4)lpushx key value:1)lpushx key value:仅当参数中指定的key存在时(如果与key管理的list中没 有值时,则该key是不存在的)在指定的key所关联的list的头部插入value。
    5)rpushx key value:在该list的尾部添加元素
    6)lpop key:返回并弹出指定的key关联的链表中的第一个元素,即头部元素
    7)rpop key:从尾部弹出元素
    8)rpoplpush resource destination:将链表的尾部元素弹出并添加到头部
    9)llen key:返回指定的key关联的链表中的元素的数量
    10)lset ket index value:设置链表中的index的脚标的元素值,0代表链表的头元素,-1代表链表的尾元素
    11)lrem key count value:删count个值为value的元素,如果count大于0,从头到尾遍历并删除count个值为value的元素,如果count小于0,则从尾到头遍历并删除,如果count等于0,则删除链表中所有等于value的元素。
    12)linsert key before|after pivot value:在pivot元素前或者后插入value这个元素

  • 相关阅读:
    Ubuntu 安装Nginx的APT源
    Slots的数值设计与人为干涉
    棋牌游戏的经济系统分析
    kubernetes学习笔记之阿里云游戏业务实战
    Certbot-免费的https证书
    let’s Encrypt 证书之安装故障 Could not bind to IPv4 or IPv6.
    ssh:Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open
    详解nginx websocket配置
    nginx upstream的五种分配方式
    nrm安装与配置
  • 原文地址:https://www.cnblogs.com/MAPO/p/8477924.html
Copyright © 2020-2023  润新知