zoukankan      html  css  js  c++  java
  • Redis 链表结构 和 常用命令

    Redis 数据结构 --链表(linked-list)

    命令说明备注
    lpush key node1 [node2 ...] 把节点 node1 加入到 链表最左边 如果是 node1、node2 ....noden 这样加入,那么链表开头从左到右的顺序是 noden ... node2、node1
    rpush key nodel [dode2 ...] 把节点 node1 加入到 链表最右边 如果是 nodel、node2 .... noden 这样加入,那么链表结尾从左到右的顺序是 node1、node2...noden
    lindex key index 读取下标为 index 的节点 返回节点字符串,从0开始算
    llen key 求链表的长度 返回链表节点数
    lpop key 删除左边第一个节点,并将其返回 --
    linsert key [befor after] piovt 插入一个节点 node ,并且可以指定在值为pivot的节点的前面(before)或者 后面 (after) 如果 list 不存在,则报错,如果没有值为对应pivot的,也会插入失败返回 -1
    lpushx list node 如果存在key为list的链表,则插入节点node,并且作为从左到右的 第一个节点 如果list 不存在 则失败
    rpushx list node 如果存在key为 list 的链表,则插入节点node,并且作为从左到右的 最后一个节点 如果 list 不存在 则失败
    lrange list start end 获取链表 list 从 start下标 到 end下标的节点值 包含 start 和 end 下标的值
    lrem list count value 如果 count 为 0,则删除所有值等于value的节点,如果count 不是 0,则先对count取绝对值,假设记为abs,然后从左到右删除不大于 abs 个 等于 value的节点 注意,count 为整数,如果是负数,则Redis会先求取其绝对值,然后传递到后台操作
    lset key index node 设置列表下标为index的节点的值为node --
    ltrim key start stop 修剪链表,只保留从start 到 stop 的区间的节点,其余的都删除掉 包含 start 和 end 的下标的节点会保留
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    C:Usersoukele>redis-cli
    127.0.0.1:6379> lpush role oukele dakele xiaokele
    (integer) 3
    127.0.0.1:6379> lindex role 0
    "xiaokele"
    127.0.0.1:6379> rpush role oukele1
    (integer) 4
    127.0.0.1:6379> lindex role 0
    "xiaokele"
    127.0.0.1:6379> llen role
    (integer) 4
    127.0.0.1:6379> lpop role
    "xiaokele"
    127.0.0.1:6379> rpop role
    "oukele1"
    127.0.0.1:6379> llen role
    (integer) 2
    127.0.0.1:6379> linsert role before dakele dadakele
    (integer) 3
    127.0.0.1:6379> linsert role after dakele dadadakele
    (integer) 4
    127.0.0.1:6379> lrange role 0 10
    1) "dadakele"
    2) "dakele"
    3) "dadadakele"
    4) "oukele"
    127.0.0.1:6379> lpush role lala wuwu oooo
    (integer) 7
    127.0.0.1:6379> lrange role 0 10
    1) "oooo"
    2) "wuwu"
    3) "lala"
    4) "dadakele"
    5) "dakele"
    6) "dadadakele"
    7) "oukele"
    127.0.0.1:6379> lrem role 3 dakele
    (integer) 1
    127.0.0.1:6379> lrange role 0 10
    1) "oooo"
    2) "wuwu"
    3) "lala"
    4) "dadakele"
    5) "dadadakele"
    6) "oukele"
    127.0.0.1:6379> ltrim role 3  6
    OK
    127.0.0.1:6379> lrange role 0 10
    1) "dadakele"
    2) "dadadakele"
    3) "oukele"
    127.0.0.1:6379>
  • 相关阅读:
    PHP构造方法和析构函数
    数组的排序算法
    Swift---- 可选值类型(Optionals) 、 断言(Assertion) 、 集合 、 函数
    Swift----方法 、 下标 、 继承 、 初始化 、 析构方法 、 可选链
    Swift----函数 、 闭包 、 枚举 、 类和结构体 、 属性
    Swift-----类型转换 、 嵌套类型 、 扩展 、 协议 、 访问控制
    程序员创业-行业分析之区分易混淆的基本概念
    MSSQl分布式查询(转)
    iOS8中添加的extensions总结(一)——今日扩展
    Python Function Note
  • 原文地址:https://www.cnblogs.com/chen1005/p/10520795.html
Copyright © 2011-2022 走看看