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:\Users\oukele>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>

Redis 链表结构 和 常用命令的更多相关文章

  1. Redis 字符串结构和常用命令

    字符串是 Redis 最基本的数据结构,它将以一个键 和一个值 储存在 Redis 内部. 字符串的一些基本命令 命令 说明 备注 set key value 设置键值对 最常用的写入命令 get k ...

  2. Redis hash结构 和常用命令

    Redis 数据结构 -- 哈希 hash 是 一个 String 类型的field 和 value 的映射表 hash 的键值 对在内存中的一种无序的状态 命令 说明 备注 hdel key fie ...

  3. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  4. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  5. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  6. Linux课程---4、Linux目录结构及常用命令(目录结构)

    Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...

  7. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

  8. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  9. Redis基本类型与常用命令

    Redis基本类型一共有五类: 字符串类型(string): 散列类型(hash): 列表类型(list): 集合类型(sort): 有序集合类型(zset): 在redis中,所有的类型都是被以键值 ...

随机推荐

  1. zoj 3314 CAPTCHA(纯模拟)

    题目 有些人用深搜写的,当然我这弱弱的,只理解纯模拟... 纯模拟,第一次写了那么长的代码,我自己也是够坚韧不拔的,,,,必须留念啊!!! 注意,G包含C,E包含L,R包含P,(照图说O应该不包含C, ...

  2. 一次vue-cli 2.x项目打包优化经历(优化xlsx插件)

    一.分析各模块打包后大小 用vue-cli创建的项目,已经集成 webpack-bundle-analyzer.详见文件 build/webpack.prod.conf.js,代码如下: if (co ...

  3. STM32的USART发送数据时如何使用TXE和TC标志

    在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄存器空,另一个是TC=发送结束. ...

  4. SCI 计算机 数学相关期刊

    数学,电子通信,计算机类 出版地 收录库 刊名 刊期 ISSN 影响因子 中国大陆 SCI CHINESE SCIENCE BULLETIN<科学通报>(英文版) 半月刊 1001-653 ...

  5. C# WPF 窗体传递消息

    对于存在窗体的WPF程序(或者说,起码在任务栏上有个图标,即ShowInTaskbar = true),互相传递消息是很容易的. 步骤: 1,寻找窗体的句柄 2,运用windows API: Send ...

  6. 清北学堂模拟赛d1t5 拍照(photo)

    题目描述 假设这是一个二次元.LYK召集了n个小伙伴一起来拍照.他们分别有自己的身高Hi和宽度Wi.为了放下这个照片并且每个小伙伴都完整的露出来,必须需要一个宽度为ΣWi,长度为max{Hi}的相框. ...

  7. 在django里用xlwt作EXCEL导出功能

    参考了以前kevin的代码,搞起来快呀,哈哈哈,,阿里亚多.... 代码的意思比较明白,不注释,几乎自解释... 就是定义EXCEL时,比较硬生生的,一步一步没有快捷的方法. 另外就是取时间出来时,如 ...

  8. hdu_1863_畅通工程_201403122000

    畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  9. php表单常用正则表达式

    <?php /** * @description: 正则表达式匹配 */ class Regex { /** * @手机号 */ public static function Phone($su ...

  10. MYSQL 字符集 MYSQL 源码

    http://blog.csdn.net/maray/article/details/46504621