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:\Users\oukele>redis-cli127.0.0.1:6379> lpush role oukele dakele xiaokele(integer) 3127.0.0.1:6379> lindex role 0"xiaokele"127.0.0.1:6379> rpush role oukele1(integer) 4127.0.0.1:6379> lindex role 0"xiaokele"127.0.0.1:6379> llen role(integer) 4127.0.0.1:6379> lpop role"xiaokele"127.0.0.1:6379> rpop role"oukele1"127.0.0.1:6379> llen role(integer) 2127.0.0.1:6379> linsert role before dakele dadakele(integer) 3127.0.0.1:6379> linsert role after dakele dadadakele(integer) 4127.0.0.1:6379> lrange role 0 101) "dadakele"2) "dakele"3) "dadadakele"4) "oukele"127.0.0.1:6379> lpush role lala wuwu oooo(integer) 7127.0.0.1:6379> lrange role 0 101) "oooo"2) "wuwu"3) "lala"4) "dadakele"5) "dakele"6) "dadadakele"7) "oukele"127.0.0.1:6379> lrem role 3 dakele(integer) 1127.0.0.1:6379> lrange role 0 101) "oooo"2) "wuwu"3) "lala"4) "dadakele"5) "dadadakele"6) "oukele"127.0.0.1:6379> ltrim role 3 6OK127.0.0.1:6379> lrange role 0 101) "dadakele"2) "dadadakele"3) "oukele"127.0.0.1:6379> |
Redis 链表结构 和 常用命令的更多相关文章
- Redis 字符串结构和常用命令
字符串是 Redis 最基本的数据结构,它将以一个键 和一个值 储存在 Redis 内部. 字符串的一些基本命令 命令 说明 备注 set key value 设置键值对 最常用的写入命令 get k ...
- Redis hash结构 和常用命令
Redis 数据结构 -- 哈希 hash 是 一个 String 类型的field 和 value 的映射表 hash 的键值 对在内存中的一种无序的状态 命令 说明 备注 hdel key fie ...
- 解析Redis操作五大数据类型常用命令
摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...
- Linux课程---4、Linux目录结构及常用命令(目录结构)
Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- redis学习(二) redis数据结构介绍以及常用命令
redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...
- Redis基本类型与常用命令
Redis基本类型一共有五类: 字符串类型(string): 散列类型(hash): 列表类型(list): 集合类型(sort): 有序集合类型(zset): 在redis中,所有的类型都是被以键值 ...
随机推荐
- 国密SSL证书免费试用申请指南
沃通提供国密SSL证书免费申请试用服务,一次申请可同时签发SM2/RSA双算法证书,试用周期1个月,用于测试国密SM2 SSL证书的运行效果和SM2/RSA双证书部署效果. 试用产品:SM2/RSA双 ...
- 《啊哈算法》中P81解救小哈
题目描述 首先我们用一个二维数组来存储这个迷宫,刚开始的时候,小哼处于迷宫的入口处(1,1),小哈在(p,q).其实这道题的的本质就在于找从(1,1)到(p,q)的最短路径. 此时摆在小哼面前的路有两 ...
- Vim 基本操作
Vim 基本操作 vim的模式 命令模式 2. 编辑模式 3. 尾行模式 编辑 i : 插入 光标所在位置 a : 插入 光标所在位置的下一个位置 o : 插入 光标所在位置的下一行插入新行 O : ...
- 53. Maximum Subarray(动态规划)
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- awr ash addm
awr ash addm awr addm :基于快照的ash :单独,每秒采样 dbtime=db cpu + wait 柜员忙碌的时间=A做业务的时间+B做业务的时间等待时间=B等待A做业务的时间 ...
- MVC.NET:提供对字体文件.woff的访问
在我们的项目中如果使用到了Bootstrap框架的话,通常都必须要支持对其自带的glyphicons-halflings-regular的font文件的访问. 诸如在MVC.NET中,如果一开始什么设 ...
- Android图片异步载入框架Android-Universal-Image-Loader
Android-Universal-Image-Loader是一个图片异步载入,缓存和显示的框架.这个框架已经被非常多开发人员所使用,是最经常使用的几个Android开源项目之中的一个,主流的应用,随 ...
- leetcode第一刷_Minimum Window Substring
好题.字符串.线性时间. 我认为第一次拿到这个题的人应该不会知道该怎么做吧,要么就是我太弱了..先搞清楚这个题要求的是什么.从一个长字符串中找一个字串,这个字串中的字符全然包括了另一个给定目标串中的字 ...
- Ejb in action(四)——购物车实例演示有状态会话Bean
前面.我们介绍了一个入门实例.事实上那就是无状态回话Bean的经常使用情况. 上一篇文章中.我们介绍了无状态会话Bean和有状态会话Bean的相关概念.为了加深大家对它们的理解,我们一起来实现一个有状 ...
- Cocoa pods的安装和使用
现在网上关于cocoapods的安装使用资料有很多,有些方法能用,有些是用不了的,别问为什么,因为我就是从坑里走出来的.在此自己整理了一些方法: 一般需要先升级Ruby环境: 第一步:安装rvm $ ...