Redis Set和ZSet常用命令

Redis Set和ZSet常用命令

Set

1. SADD :添加多个元素到集合中
127.0.0.1:6379> sadd goodfood "potato" "tomato" "apple"
(integer) 3
2. SMOVE 命令:移动集合元素到另一个集合中
smove source destination member
3. SUNIONSTORE 命令:保存多个集合元素到新集合中
127.0.0.1:6379> sunionstore foods goodfood
(integer) 3
4. SISMEMBER 命令:判断某个元素是否在集合中
5. SCARD 命令:获取集合中元素的数量
6. SMEMBERS 命令:获取集合中的所有元素
7. SRANDMEMBER 命令:随机获取集合中的一个元素
8. SUNION 命令:获取多个集合中的所有元素
127.0.0.1:6379> sunionstore foods goodfood
(integer) 3
127.0.0.1:6379> sismember foods "apple"
(integer) 1
127.0.0.1:6379> scard foods
(integer) 3
127.0.0.1:6379> smembers foods
1) "apple"
2) "tomato"
3) "potato"
127.0.0.1:6379> srandmember foods
"apple"
127.0.0.1:6379> srandmember foods 2
1) "apple"
2) "potato"
127.0.0.1:6379> sunion foods goodfood
1) "apple"
2) "tomato"
3) "potato"
9. SDIFF 命令:获取多个集合元素的差集
127.0.0.1:6379> sdiff foods goodfood
(empty list or set)
10. SDIFFSTORE 命令:获取多个集合差集的元素个数(返回新集合difffood)
127.0.0.1:6379> sdiffstore difffood foods goodfood
(integer) 0
11. SINTER 命令:获取多个集合元素的交集
127.0.0.1:6379> sinter foods goodfood
1) "apple"
2) "tomato"
3) "potato"
12. SINTERSTORE 命令:获取多个集合交集的元素个数(返回新集合newfood)
127.0.0.1:6379> sinterstore newfood foods goodfood
(integer) 3
13. SPOP 命令:随机删除集合中的元素
14. SREM 命令:删除集合中的多个元素
127.0.0.1:6379> spop foods
"potato"
127.0.0.1:6379> srem foods "apple"
(integer) 1

ZSet

1. ZADD : 添加多个元素到有序集合中
127.0.0.1:6379> zadd city:gdp 95 "beijing" 99.5 "shanghai" 98 "guangzhou"
(integer) 3
2. ZINCRBY 命令:为分数值加上增量
127.0.0.1:6379> zincrby city:gdp 3 "beijing"
"98"
3. ZCARD 命令:获取有序集合中的元素数量
4. ZCOUNT 命令:获取在分数区间内的元素数量
127.0.0.1:6379> zcard city:gdp
(integer) 3
127.0.0.1:6379> zcount city:gdp 99 100
(integer) 1
5. ZLEXCOUNT 命令:获取在指定区间内的元素数量

ZLEXCOUNT 命令用于获取有序集合 key 中介于 min 和 max 范围内的元素数量,这个有序集合 key 中的所有元素的 score 值都相等。

参数 min 和 max 是一个区间,区间一般使用「(」或「[」表示,其中,「(」表示开区间,「(」指定的值不会被包含在范围之内;「[」表示闭区间,「[」指定的值会被包含在范围之内。另外,特殊值 + 和-在参数 min 和 max 中具有特殊含义,其中,+ 表示正无穷,-表示负无穷。我们向一个元素分数相同的有序集合发送命令 ZLEXCOUNT<zset>-+,将会返回这个有序集合中的所有元素。

6. ZRANGE 命令:获取在指定区间内的元素(升序)
127.0.0.1:6379> zrange city:gdp 0 -1
1) "beijing"
2) "guangzhou"
3) "shanghai"
7. ZREVRANGE 命令:获取在指定区间内的元素(降序)
8. ZSCORE 命令:获取元素的分数值
127.0.0.1:6379> zscore city:gdp "beijing"
"98"
9. ZRANGEBYLEX 命令:获取集合在指定范围内的元素

ZRANGEBYLEX 命令用于返回有序集合 key 中,元素 score 值介于 min 和 max 之间的元素,这个有序集合 key 中的所有元素具有相同的 score 值,它们按照字典序排序。如果有序集合 key 中的元素对应的 score 值不同,则在执行该命令后,返回的结果是未指定的(unspecified)。

可选的 LIMIT offset count 参数用于获取指定范围内的匹配元素。此时,需要注意,如果 offset 参数的值非常大,那么该命令在返回结果之前,需要先遍历到 offset 所指定的位置。

参数 min 和 max 是一个区间,区间一般使用「(」或「[」表示,其中,「(」表示开区间,「(」指定的值不会被包含在范围之内;「[」表示闭区间,「[」指定的值会被包含在范围之内。另外,特殊值 + 和-在参数 min 和 max 中具有特殊含义,其中,+ 表示正无穷,-表示负无穷。我们向一个元素分数相同的有序集合发送命令 ZRANGEBYLEX<zset>-+,将会返回这个有序集合中的所有元素。

10. ZRANGEBYSCORE 命令:获取在指定分数区间内的元素
127.0.0.1:6379> ZRANGEBYSCORE  city:gdp 0 100
1) "beijing"
2) "guangzhou"
3) "shanghai"
11. ZREVRANGEBYSCORE 命令:获取在指定区间内的所有元素

RANGEBYSCORE 命令用于返回有序集合 key 中,所有 score 值介于 min 和 max 之间(包含等于 min 和 max)的元素。有序集合 key 中的元素按照 score 值从小到大的顺序排序。当你不知道 min 和 max 参数的具体值时,可以使用-inf 来表示 min 值,使用 +inf 来表示 max 值。在默认情况下,min 与 max 区间是闭区间(小于等于或大于等于),也可以在参数前面添加「(」符号来使用可选的开区间(小于或大于)。

当具有相同 score 值的元素时,有序集合元素会按照字典序排序。

使用 WITHSCORES 选项来返回元素的 score 值。

可选的 LIMIT offset count 参数用于获取指定范围内的匹配元素。如果 offset 参数的值非常大,那么该命令在返回结果之前,需要先遍历到 offset 所指定的位置。

12. ZRANK 命令:获取有序集合元素的排名
13. ZREVRANK 命令:获取有序集合元素的倒序排名
127.0.0.1:6379> zrank city:gdp "shanghai"
(integer) 2
14. ZINTERSTORE 命令:保存多个有序集合的交集
15. ZUNIONSTORE 命令:保存多个有序集合的并集
16.ZREM 命令:删除有序集合中的多个元素
127.0.0.1:6379> zrem city:gdp "shanghai"
(integer) 1
17.ZREMRANGEBYLEX 命令:删除有序集合在指定区间内的元素
18. ZREMRANGEBYRANK 命令:删除有序集合在指定排名区间内的元素
19. ZREMRANGEBYSCORE 命令:删除有序集合在指定分数区间内的元素

原文地址:https://www.cnblogs.com/undefined22/p/12566219.html

时间: 2024-11-08 21:50:34

Redis Set和ZSet常用命令的相关文章

Nginx Redis redis分片 redis哨兵 redis集群 等 常用命令

Nginx  Redis  redis分片  redis哨兵  redis集群 等 常用命令 1.1.1 Nginx命令 前提:nginx的命令执行,必须在nginx的根目录中完成 命令: 1.启动nginx     start nginx 2.重启nginx     nginx -s reload 3.关闭nginx     nginx -s stop Linux命令 1.1.2 cd命令集 ifconfig  检查IP地址 cd命令是linux中最基本的命令语句,必须熟练掌握 cd / 返回

Redis Hash和List常用命令

Redis Hash和List常用命令 Hash 1. HSET 命令 127.0.0.1:6379> hset book history "story" (integer) 1 2. HSETNX 命令:为哈希表不存在的域设值 使用 HSETNX 命令当且仅当域 field 不存在时,将哈希表 key 中的 field 的值设置为 value.如果 field 已经存在,那么 HSETNX 命令将会执行无效. 3. HMSET 命令:设置多个域和值到哈希表中 4. HGET 命

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

redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: 1.string 字符串 string字符串类型是redis最基础的数据存储类型.string是最基础的一种数据类型,其可以拓展为某种特定类型,例如普通文本,json字符串,二进制数据等等.就本质上来说,接下来要介绍的hash,list,set等其内部最基础的组成单位依然是string,只不过re

Redis基本类型与常用命令

Redis基本类型一共有五类: 字符串类型(string): 散列类型(hash): 列表类型(list): 集合类型(sort): 有序集合类型(zset): 在redis中,所有的类型都是被以键值对形式存放,类型只体现在键值对的值上. 如列表类型,数据格式如下.它的整体存放仍然是key-value的格式,只不过它的value里面是一个列表类型. 如散列类型,数据格式如下.它的整体存储也是遵照key-value的格式,但是它的value存放是散列类型. 其他的几种数据类型类似,都是将各自的特点

redis基本使用(常用命令及api)

redis基本使用 key keys * 查看所有key exists key 判断某个key是否存在 move key db 当前库就没有了,到指定的库中去了 expire key 为给定的key设置过期时间 ttl key 查看还有多少时间过期 -1表示永不过期 -2表示已过期 type key 查看key是什么类型 redis5大基本类型使用 1. string set key value 设置key value get key 查看当前key的值 del key 删除key append

Redis运维之常用命令操作

在平时的工作中,需要根据需求对Redis数据库进行一些操作. 可以参考Redis官网http://redis.io/commands 进行详细了解 1.SELECT 切换数据库 redis 127.0.0.1:6379[1]> HELP SELECT     SELECT index   summary: Change the selected database for the current connection   since: 1.0.0   group: connection   red

Redis 连接参数以及常用命令

redis安装后,在src和/usr/local/bin下有几个以redis开头的可执行文件,称为redis shell,这些可执行文件可做很多事情. 可执行文件 作用 redis-server  启动redis redis-cli redis命令行工具 redis-benchmark 基准测试工具 redis-check-aof AOF持久化文件检测工具和修复工具 redis-check-dump RDB持久化文件检测工具和修复工具 redis-sentinel 启动redis-sentine

php 操作redis 以及几个常用命令

redis-cli -h host -p port -a password 首次进入redis 进行绑定ip和端口号   del key 删除指定key   exists key 检查指定key是否存在 1存在 0不存在 expire key seconds 为key 设置过期时间 时间到后 自动删除指定key persist key 移除指定key的过期时间   pttl key 以毫秒返回所剩过期时间   ttl key 以秒返回所剩过期时间   rename key newkey 修改ke

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sorted Set. Redis数据类型内存结构分析 Redis内部使用一个redisObject对象来表示所有的key和value.redisObject主要的信息包括数据类型(type).编码方式(encoding).数据指针(ptr).虚拟内存(vm)等.type代表一个value对象具体是何种数