• Redis学习第四课:Redis List类型及操作


    list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等,操作中key理解为链表的名字。

    Redis的list类型其实就是一个每个子元素都是string类型的双向链表我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。

    lpush:在key对应list的头部添加字符串元素。(用法:lpush list链表名称 元素值)

    127.0.0.1:6379> lpush address "Shang Hai"

    (integer) 1

    127.0.0.1:6379> lpush address huangpu

    (integer) 2

    127.0.0.1:6379> lrange address 0 -1

    1) "huangpu"

    2) "Shang Hai"

    rpush:在key对应list的尾部添加字符串元素。(用法:rpush list链表名称 元素值)

    127.0.0.1:6379> rpush address2 "Shang Hai"

    (integer) 1

    127.0.0.1:6379> rpush address2 "huangpu"

    (integer) 2

    127.0.0.1:6379> lrange address2 0 -1

    1) "Shang Hai"

    2) "huangpu"

    linsert:在key对应list的特定位置前或后添加字符串。(用法:linsert list链表名称 before|after 指定的某个元素值  需要插入的新元素值)

    127.0.0.1:6379> linsert address2 before "huangpu" ","

    (integer) 3

    127.0.0.1:6379> lrange address2 0 -1

    1) "Shang Hai"

    2) ","

    3) "huangpu"

    lset:设置list中指定下标的元素值,即替换指定下标的元素值。(用法:lset list链表名称  位置索引  元素新的值)

    127.0.0.1:6379> lpush myColour "red"
    (integer) 1
    127.0.0.1:6379> lrange myColour 0 -1
    1) "red"
    127.0.0.1:6379> lset myColour 0 "yellow"
    OK
    127.0.0.1:6379> lrange myColour 0 -1
    1) "yellow"

    lrem:从key对应list中删除n个和value相同的元素。(n<0 从尾删除,n=0则全部删除。)(用法:lrem list链表名称 要删除几个  要删除的元素值)

    127.0.0.1:6379> lrange myColour 0 -1

    1) "pink"

    2) "red"

    3) "red"

    4) "purple"

    5) "red"

    6) "yellow"

    127.0.0.1:6379> lrem myColour 1 "red"

    (integer) 1

    127.0.0.1:6379> lrange myColour 0 -1

    1) "pink"

    2) "red"

    3) "purple"

    4) "red"

    5) "yellow"

    127.0.0.1:6379> lrem myColour 0 "red"

    (integer) 2

    127.0.0.1:6379> lrange myColour 0 -1

    1) "pink"

    2) "purple"

    3) "yellow"

    ltrim:保留指定key的值范围内的数据。即保留下标指定范围的field,其他的被删除。(用法:ltrim list链表名称 位置索引1 位置索引2) 保留位置索引1 到位置索引2的元素,其余全部删除。

    127.0.0.1:6379> lrange myColour 0 -1

    1) "yellow"

    2) "purple"

    3) "pink"

    4) "red"

    127.0.0.1:6379> ltrim myColour 2 -1

    OK

    127.0.0.1:6379> lrange myColour 0 -1

    1) "pink"

    2) "red"

    lpop:从list的头部删除元素,并返回删除元素。(用法:lpop list链表名称)

    127.0.0.1:6379> lrange myColour 0 -1

    1) "pink"

    2) "red"

    127.0.0.1:6379> lpop myColour

    "pink"

    127.0.0.1:6379> lrange myColour 0 -1

    1) "red"

    rpoplpush:从第一个list的尾部移除元素添加到第二个list的头部。(用法:rpoplpush 第一个list 第二个list)

    127.0.0.1:6379> lrange myColour 0 -1

    1) "red"

    2) "black"

    3) "blue"

    4) "orange"

    127.0.0.1:6379> rpoplpush myColour myColour1

    "orange"

    127.0.0.1:6379> lrange myColour1 0 -1

    1) "orange"

    lindex:返回名称为key的list中index位置的元素,元素位置索引号从0开始。(用法:lindex list链表名称 元素索引号index)

    127.0.0.1:6379> lrange myColour 0 -1

    1) "red"

    2) "black"

    3) "blue"

    127.0.0.1:6379> lindex myColour 0

    "red"

    127.0.0.1:6379> lindex myColour 1

    "black"

    llen:返回key对应list的长度,即list的元素个数。 (用法:llen list链表名称)

    127.0.0.1:6379> lrange myColour 0 -1

    1) "red"

    2) "black"

    3) "blue"

    127.0.0.1:6379> llen myColour

    (integer) 3

  • 相关阅读:
    分布式缓存memcached介绍,win7环境安装,常用命令set,get,delete,stats, java访问
    【转】移除HTML5 input在type="number"时的上下小箭头
    ES6特性的两点分析
    hexo_config.yml配置内容
    JS性能分析(测试代码运行时间)
    github修改仓库项目的语言类型
    JavaScript回文数
    JS设计模式
    webpac入门
    居中问题
  • 原文地址:https://www.cnblogs.com/zxtceq/p/7250959.html
Copyright © 2020-2023  润新知