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 的下标的节点会保留
    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>
  • 相关阅读:
    [再寄小读者之数学篇](2014-10-27 无穷多个无穷小量相乘还是无穷小量么?)
    华中师范大学2012年数学分析考研试题参考解答
    本科时的课程与成绩
    2014 年第六届全国大学生数学竞赛预赛数学类试题参考答案
    [家里蹲大学数学杂志]第322期赣南师范学院数学竞赛培训第11套模拟试卷
    [再寄小读者之数学篇](2014-10-18 利用 Lagrange 中值定理求极限)
    和马有关的成语
    PL/pgSQL学习笔记之一
    PostgreSQL的 initdb 源代码分析之二十五
    PostgreSQL的 initdb 源代码分析之二十四
  • 原文地址:https://www.cnblogs.com/oukele/p/10175002.html
Copyright © 2011-2022 走看看