【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令。
- 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边)。
- 集合是 String 类型的无序集合,不能出现重复的数据。
- 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,但分数(score)却可以重复。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数权重来为集合中的成员进行从小到大的排序。
列表相关命令:
| 序号 | 命令 | 描述 | 实例 | 返回 |
| LPUSH key value1 [value2] | 将一个或多个值插入到列表头部 | 将redis插入列表runoobkey中:LPUSH runoobkey redis |
成功:(integer) 1 失败:(integer) 0 |
|
| LPUSHX key value | 将一个值插入到已存在的列表头部 | 将redis插入已有列表runoobkey2中:LPUSHX runoobkey2 redis |
成功:(integer) 1 失败:(integer) 0 |
|
| LRANGE key start stop | 获取列表指定范围内的元素 | 获取runoobkey列表中的全部值:LRANGE runoobkey 0 -1 | 1) "mysql" 2) "mongodb" 3) "redis" 4) "redis" |
|
| 4 | BLPOP key1 [key2 ] timeout | 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 | 移出并获取列表list1的第一个元素,超时时间10s:BLPOP list1 10 | (nil) (10.02s) |
| BRPOP key1 [key2 ] timeout | 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 | 移出并获取列表runoobkey的最后一个元素,超时时间10s:BRPOP runoobkey 10 | 1) "runoobkey" # 被弹出元素所属的列表键 2) "redis" # 被弹出的元素 |
|
| BRPOPLPUSH source destination timeout | 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 | 将最后一个值放到msg中,没有元素等10s:BRPOPLPUSH runoobkey msg 10 | "redis" # 被弹出的元素 | |
| LINDEX key index | 通过索引获取列表中的元素 | 获取列表runoobkey第一个值:lindex runoobkey 0 | "mysql" | |
| LINSERT key BEFORE|AFTER pivot value | 在列表的元素前或者后插入元素 | 在runoobkey列表"mongodb"前插入"insert":linsert runoobkey before "mongodb" "insert" | (integer) 3 | |
| LLEN key | 获取列表长度 | llen runoobkey | "5" | |
| LPOP key | 移出并获取列表的第一个元素 | lpop runoobkey | "bar" | |
| LREM key count value | 移除列表元素 | lrem runoobk 0 123 | "2" | |
| LSET key index value | 通过索引设置列表元素的值 | lset list1 1 123456 | OK | |
| LTRIM key start stop | 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 | ltrim list1 0 1 | OK | |
| RPOP key | 移除并获取列表最后一个元素 | rpop list1 | "1234" | |
| RPOPLPUSH source destination | 移除列表的最后一个元素,并将该元素添加到另一个列表并返回 | rpoplpush list1 runoobkey | "12345" | |
| RPUSH key value1 [value2] | 在列表中添加一个或多个值 | rpush list1 987 988 | "4" | |
| 17 | RPUSHX key value | 为已存在的列表添加值 |
集合相关命令:
| 序号 | 命令 | 描述 | 实例 | 返回 |
| SADD key member1 [member2] | 向集合添加一个或多个成员 | 向集合runoobkey中添加redis:SADD runoobkey redis |
成功:(integer) 1 失败:(integer) 0 |
|
| SCARD key | 获取集合的成员数 | 获取集合sets1成员数:scard sets1 | "3" | |
| SDIFF key1 [key2] | 返回给定所有集合的差集 | 返回sets1和sets2差集:sdiff sets1 sets2 | 1) "redis" | |
| SDIFFSTORE destination key1 [key2] | 返回给定所有集合的差集并存储在 destination 中 | 将sets1和sets2差集放sets3中:sdiffstore sets3 sets1 sets2 | OK | |
| SINTER key1 [key2] | 返回给定所有集合的交集 | 返回sets1和sets2交集:sinter sets1 set2 | 1) "mongodb" | |
| SINTERSTORE destination key1 [key2] | 返回给定所有集合的交集并存储在 destination 中 |
将sets1和sets2交集放sets4中:sinterstore sets4 sets1 sets2 |
OK | |
| SISMEMBER key member | 判断 member 元素是否是集合 key 的成员 | 判断sets1中是否存在redis:SISMEMBER sets1 redis |
存在:(integer) 1 不存在:(integer) 0 |
|
| SMEMBERS key | 返回集合中的所有成员 | SMEMBERS runoobkey | 1) "mysql" 2) "mongodb" 3) "redis" |
|
| SMOVE source destination member | 将 member 元素从 source 集合移动到 destination 集合 | 将mysql从集合sets1移到sets4中:smove sets1 sets4 mysql |
成功:(integer) 1 失败:(integer) 0 |
|
| SPOP key | 移除并返回集合中的一个随机元素 | spop sets2 | mongodb | |
| SRANDMEMBER key [count] | 返回集合中一个或多个随机数 | 返回集合sets5中两个元素:srandmember sets5 2 | 1) "abcdef" 2) "abcdefgh" |
|
| SREM key member1 [member2] | 移除集合中一个或多个成员 | 移除集合sets5中abc abcdfg:srem sets5 abc abcdfg |
成功:(integer) 1 失败:(integer) 0 |
|
| SUNION key1 [key2] | 返回所有给定集合的并集 | 返回集合sets1 sets2 sets3并集:SUNION sets1 sets2 sets3 | 1) "postgresql" 2) "redis" 3) "mongodb" |
|
| SUNIONSTORE destination key1 [key2] | 所有给定集合的并集存储在 destination 集合中 | |||
| 15 | SSCAN key cursor [MATCH pattern] [COUNT count] | 迭代集合中的元素 | 查找sets5集合第二个元素 如果匹配m*的返回,不匹配返回空:sscan sets5 2 match m* | 1) "0" 2) 1) "mongodb" |
有序集合相关命令:
| 序号 | 命令 | 描述 | 实例 | 返回 |
| ZADD key score1 member1 [score2 member2] | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 | ZADD runoobkey 1 redis | (integer) 1 | |
| ZRANGE key start stop [WITHSCORES] | 通过索引区间返回有序集合成指定区间内的成员 | 返回有序集合sortedsets1中0到10的权重和值:zrange sortedsets1 0 10 withscores | 1) "redis" 2) "1" 3) "redis2" 4) "2" 5) "redis3" 6) "3" 7) "redis4" 8) "3" |
|
| ZCARD key | 获取有序集合的成员数 | 返回有序集合sortedsets1成员数:zcard sortedsets1 | "4" | |
| ZCOUNT key min max | 计算在有序集合中指定区间分数的成员数 | 返回有序集合中分数为2-3的成员数:zcount sortedsets1 2 3 | "3" | |
| ZINCRBY key increment member | 有序集合中对指定成员的分数加上增量 increment | 给有序集合sortedsets1中redis加5:zincrby sortedsets1 5 redis | 增加后的值:"11" | |
| ZINTERSTORE destination numkeys key [key ...] | 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中 | 将sortedsets1和sortedsets2两个集合并集存到sortedsets10中:zinterstore sortedsets10 2 sortedsets1 sortedsets2 | 成功成员数量:(integer) 4 | |
| ZLEXCOUNT key min max | 在有序集合中计算指定字典区间内成员数量 | 集合中大于等于redis 小于redis3的数量:zlexcount sortedsets1 [redis (redis3 集合全部数量:zlexcount sortedsets1 - + |
"1"; "4" |
|
| ZRANGEBYLEX key min max [LIMIT offset count] | 通过字典区间返回有序集合的成员 | zrangebylex sortedsets7 (2 [6 | 1) "3" 2) "5" 3) "6" |
|
| ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] | 通过分数返回有序集合指定区间内的成员 | 返回集合中大于3的全部成员:ZRANGEBYSCORE sortedsets7 (3 +inf WITHSCORES |
1) "3" |
|
| ZRANK key member | 返回有序集合中指定成员的索引 | 返回集合中6的索引:zrank sortedsets7 6 | "4" | |
| ZREM key member [member ...] | 移除有序集合中的一个或多个成员 | 移除成员6:zrem sortedsets7 6 | ||
| ZREMRANGEBYLEX key min max | 移除有序集合中给定的字典区间的所有成员 | 移除集合中大于4小于等于5的成员:zremrangebylex sortedsets7 (4 [5 | "1" | |
| ZREMRANGEBYRANK key start stop | 移除有序集合中给定的排名区间的所有成员 | ZREMRANGEBYRANK sortedsets7 0 1 | "2" | |
| ZREMRANGEBYSCORE key min max | 移除有序集合中给定的分数区间的所有成员 | |||
| ZREVRANGE key start stop [WITHSCORES] | 返回有序集中指定区间内的成员,通过索引,分数从高到底 | ZREVRANGE sortedsets7 0 1 WITHSCORES | 1) "6" 2) "5" 3) "3" 4) "4" |
|
| ZREVRANGEBYSCORE key max min [WITHSCORES] | 返回有序集中指定分数区间内的成员,分数从高到低排序 | |||
| ZREVRANK key member | 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 | zrevrank sortedsets7 4; zrevrank sortedsets7 3 |
null; "1" |
|
| ZSCORE key member | 返回有序集中,成员的分数值 | 返回集合3的分数值:zscore sortedsets7 3 | "4" | |
| ZUNIONSTORE destination numkeys key [key ...] | 计算给定的一个或多个有序集的并集,并存储在新的 key 中 | |||
| 20 | ZSCAN key cursor [MATCH pattern] [COUNT count] | 迭代有序集合中的元素(包括元素成员和元素分值) | zscan sortedsets7 0 | 1) "0" 2) 1) "3" 2) "4" 3) "6" 4) "5" |
详见:Redis官方文档
上一篇:【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
下一篇学习 HyperLogLog和GEO相关命令
【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)的更多相关文章
- 【Redis】命令学习笔记——键(key)(20个超全字典版)
安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...
- 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...
- 【Redis】命令学习笔记——字符串(String)(23个超全字典版)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...
- 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...
- Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合
Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...
- Redis:学习笔记-02
Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
- Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合
Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的 ...
- mongodb常用命令学习笔记
mongodb常用命令学习笔记 创建数据库 use DATABASE_NAME eg: use users; 如果数据库不存在,则创建数据库,否则切换到指定数据库.要显示刚刚创建的数据库,需要向数据库 ...
随机推荐
- 酷派大神F2使用QPST进行nv备份恢复,解决无信号问题
测试机器: 大神F2联通版 8675_W00 系统COOLUI55 写贴原因: 自己无意间刷错了包,结果手机无信号,进入工程模式怎么设置都没有用.尝试过系统还原(备份过).刷新的ROM.线刷, ...
- Centos7下安装mysql5.6需要注意的点
1.自带的Mariadb和mysql冲突需要卸载. 2.原先安装过的mysql没有卸载干净会导致安装失败. 3.mysql文件夹权限需要给够,my.cnf也是一样. 4.安装过程中如果出现的其他问题很 ...
- springboot-19-整合dubbox
springboot 整合dubbox 1, 没了,,, 2, 安装zookeeper 可见: http://www.cnblogs.com/wenbronk/p/6636926.html 2.1 下 ...
- php中接收参数,不论是来自GET还是POST方法
不多说,直接上代码, 其实也就是先用GET的方法去获取,如果值为空,在用POST方法去获取 写下来是为了方便和备忘 function getParam($str){ if ( isset( ...
- Nodejs学习笔记(八)—Node.js + Express 实现上传文件功能(felixge/node-formidable)
前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次 ...
- Mysql备份工具xtraback全量和增量测试
Mysql备份工具xtraback全量和增量测试 xtrabackup 是 percona 的一个开源项目,可以热备份innodb ,XtraDB,和MyISAM(会锁表) 官方网址http:// ...
- elasticsearch环境搭建
学习elasticsearch有一段时间了,整理一些学习的笔记以备忘. 以下内容都是在windows环境下的操作. 一,安装一个较新版本的java,我本地安装的java 8. 二,安装elastics ...
- 009.在C#.NET中使用Froms验证
原文:https://support.microsoft.com/en-us/kb/301240 (Aty表示本人) 这篇文章演示如何通过数据库,实现Froms验证 必需 Mircosoft Visu ...
- css3 transform(变形)笔记
Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. 一.旋转 ...
- 转载:SQL中的case when then else end用法
SQL中的case when then else end用法 来源: http://www.cnblogs.com/prefect/p/5746624.html Case具有两种格式.简单Case函数 ...