redis学习笔记3--sortSet
终于到最后一个数据结构了,加油!!
整体结构图:
http://dl.iteye.com/upload/picture/pic/115995/0ee3789f-33e1-35ca-ac65-cbd6b4e4e147.jpg
1.ZADD
语法: ZADD key score value
释义:添加执行分数的value, score必须是double类型的数值
实践:
redis 127.0.0.1:6379> zadd z1 1 a
(integer) 1
redis 127.0.0.1:6379> zadd z1 2 b
(integer) 1
redis 127.0.0.1:6379> zadd z1 20 bb
(integer) 1
redis 127.0.0.1:6379> zadd z1 10 ff
(integer) 1
redis 127.0.0.1:6379> zrange z1 0 -1
1) "a"
2) "b"
3) "ff"
4) "bb"
2.ZREM
语法:ZREM key value
释义:删除指定value的值
实践:
redis 127.0.0.1:6379> ZREM z1 b // 删除,指定value
(integer) 1
redis 127.0.0.1:6379> zrange z1 0 -1
1) "a"
2) "ff"
3) "bb"
3.ZCARD
语法:ZCARD key
释义:获取集合总数
实践:
redis 127.0.0.1:6379> zrange z1 0 -1
1) "a"
2) "ff"
3) "bb"
redis 127.0.0.1:6379> zcard z1
(integer) 3
4.ZCOUNT
语法:zcount key min max
释义:计算在指定范围内的元素数目
(1 6 ==== 1 < x <= 6 // 括号代表开区间
1 6 ==== 1 <= x <= 6
实践:
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "a"
2) "1"
3) "ff"
4) "10"
5) "bb"
6) "20"
redis 127.0.0.1:6379> zcount z1 5 10 // 闭区间,能取得10
(integer) 1
redis 127.0.0.1:6379> zcount z1 5 (10 //开区间,无法得到10
(integer) 0
5.ZSCORE
语法:ZSCORE key value
释义:获取指定key的分数
实践:
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "a"
2) "1"
3) "ff"
4) "10"
5) "bb"
6) "20"
redis 127.0.0.1:6379> zscore z1 a // 获取a的分数
"1"
6.ZINCRBY
语法:ZINCRBY key score value
释义:对于指定的value进行加法操作
实践:
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "a"
2) "1"
3) "ff"
4) "10"
5) "bb"
6) "20"
redis 127.0.0.1:6379> zincrby z1 10 a // 对于a+10
"11"
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "ff"
2) "10"
3) "a"
4) "11"
5) "bb"
6) "20"
redis 127.0.0.1:6379> zincrby z1 -3 a // 对于a-3
"8"
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "a"
2) "8"
3) "ff"
4) "10"
5) "bb"
6) "20"
7.ZRANGE|ZREVRANGE
语法:ZRANGE|ZREVRANGE key
释义:显示所有列表
redis 127.0.0.1:6379> zrange z1 0 -1
1) "a"
2) "ff"
3) "bb"
redis 127.0.0.1:6379> zrevrange z1 0 -1
1) "bb"
2) "ff"
3) "a"
8.ZRANGEBYSCORE|ZREVRANGEBYSCORE
语法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
释义:获取指定范围内的数值
实践:
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "a"
2) "8"
3) "ff"
4) "10"
5) "bb"
6) "20"
redis 127.0.0.1:6379> zrangebyscore z1 -inf +inf // 在不清楚最大最小范围的时间,可以采用这个 -inf +inf
1) "a"
2) "ff"
3) "bb"
redis 127.0.0.1:6379> zrangebyscore z1 8 10 // 闭区间
1) "a"
2) "ff"
redis 127.0.0.1:6379> zrangebyscore z1 (8 10 // 开区间
1) "ff"
9.ZRANK|ZREVRANK
语法:zrank|zremrank key member
释义:获取指定值在集合中的排名,以0代表第一位 。(顺序或是逆序)
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "a"
2) "8"
3) "ff"
4) "10"
5) "bb"
6) "20"
redis 127.0.0.1:6379> zrank z1 a
(integer) 0
redis 127.0.0.1:6379> zrank z1 ff //顺序位置
(integer) 1
redis 127.0.0.1:6379> zrevrank z1 a //逆序位置
(integer) 2
10.ZREMRANGEBYRANK
语法 :ZREMRANGEBYRANK key min max
释义:删除指定下标的数据
实践:
redis 127.0.0.1:6379> zrange z1 0 -1
1) "a"
2) "ff"
3) "bb"
redis 127.0.0.1:6379> zremrangebyrank z1 0 1
(integer) 2
redis 127.0.0.1:6379> zrange z1 0 -1
1) "bb"
11.ZREMRANGEBYSCORE
语法 :ZREMRANGEBYSCORE key min max
释义:根据指定分数删除数据
实践:
redis 127.0.0.1:6379> zrange z1 0 -1 withscores
1) "bb"
2) "20"
redis 127.0.0.1:6379> ZREMRANGEBYSCORE z1 -inf +inf // 删除所有的数据 等同于 del z1
(integer) 1
redis 127.0.0.1:6379> zrange z1 0 -1
(empty list or set)
12.ZINTERSTORE
语法:ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
释义:
计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。
默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之和.
实践:
redis 127.0.0.1:6379> zrange s1 0 -1
1) "a"
2) "b"
3) "c"
redis 127.0.0.1:6379> zrange s2 0 -1
1) "a"
2) "c"
3) "d"
redis 127.0.0.1:6379> zinterstore s3 2 s1 s2
(integer) 2
redis 127.0.0.1:6379> zrange s3 0 -1
1) "a"
2) "c"
redis 127.0.0.1:6379>
13.ZUNIONSTORE
语法:ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
释义:计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination 。
默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之 和 。
WEIGHTS
使用 WEIGHTS 选项,你可以为 每个 给定有序集 分别 指定一个乘法因子(multiplication factor),每个给定有序集的所有成员的 score 值在传递给聚合函数(aggregation function)之前都要先乘以该有序集的因子。
如果没有指定 WEIGHTS 选项,乘法因子默认设置为 1 。
AGGREGATE
使用 AGGREGATE 选项,你可以指定并集的结果集的聚合方式。
默认使用的参数 SUM ,可以将所有集合中某个成员的 score 值之 和 作为结果集中该成员的 score 值;使用参数 MIN ,可以将所有集合中某个成员的 最小 score 值作为结果集中该成员的 score 值;而参数 MAX 则是将所有集合中某个成员的 最大 score 值作为结果集中该成员的 score 值。
实践:
redis 127.0.0.1:6379> zunionstore s3 2 s1 s2
(integer) 4
redis 127.0.0.1:6379> zrange s3 0 -1
1) "b"
2) "a"
3) "c"
4) "d"
redis 127.0.0.1:6379>
分享到:
相关推荐
解压后,你可以找到包括`redis-server.exe`、`redis-cli.exe`等在内的可执行文件,以及配置文件`redis.conf`。这种方式适合于需要自定义配置或手动管理服务的用户。通过编辑`redis.conf`,你可以调整Redis的各项参数...
4. 使用`redis-cli`连接服务器并进行测试。 在实际应用中,开发者可以根据业务需求,选择合适的数据结构,利用Redis的特性优化系统性能,如使用List作为消息队列,Set实现交集、并集和差集操作,Sorted Set进行范围...
redis-stack-server-7.2.0-v9.arm64.snap redis-stack-server-7.2.0-v9.bionic.arm64.tar.gz redis-stack-server-7.2.0-v9.bionic.x86_64.tar.gz redis-stack-server-7.2.0-v9.bullseye.x86_64.tar.gz redis-stack-...
Redis安装包,Redis-x64-3.0.504 windows版安装包
redis-server --service-install redis.windows-service.conf --loglevel verbose 2 常用的redis服务命令。 卸载服务:redis-server --service-uninstall 开启服务:redis-server --service-start 停止服务:redis-...
4. 测试连接:使用Redis客户端工具(如`redis-cli`)连接到本地服务器,验证Redis是否正常工作。可以尝试发送一些基本命令,如`SET key value`、`GET key`等。 5. 安全设置:生产环境中,为了安全,你需要设置访问...
redis-serviceinstall .cmd安装成服务脚本(redis设置成windows下的服务,redis-serviceinstall .cmd脚本内容如下) redis-server --service-install redis.windows-service.conf --loglevel verbose redis-server -...
这个名为"Redis-x64-5.0.14.1"的压缩包是Redis针对Windows操作系统的64位版本,版本号为5.0.14.1。在Windows上运行Redis可能与Linux环境有所不同,但仍然提供了相同的核心功能。 1. **Redis的特性**: - **内存...
在 NGINX 的配置文件中,通过 `set $redis_key "your_key"` 设置键名,然后使用 `redis2_query` 指令执行 Redis 命令。例如: ``` location /cache { set $redis_key "content:$uri"; redis2_query get $redis_...
**Redis 全面检查工具:redis-full-check** Redis 是一款高性能的键值存储系统,广泛应用于缓存、数据库和消息中间件等场景。在实际应用中,为了确保 Redis 的稳定性和数据一致性,需要定期对 Redis 实例进行健康...
tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-...
Redis-x64-3.0.504安装包是一个针对64位操作系统的Redis数据库服务器的安装程序。Redis是一款高性能、开源、基于键值对的数据存储系统,广泛应用于缓存、数据库、消息中间件等多个场景。这个版本是3.0.504,代表着在...
在Windows环境下,Redis-x64-5.0.14是Redis为64位Windows操作系统编译的一个版本,提供了在Windows上运行Redis的能力。本文将深入探讨Redis的基本概念、功能特性、安装与配置,以及在Windows平台上的使用方法。 ...
这个压缩包“Redis-x64-5.0.14.1.msi”显然是 Redis 的 Windows 64 位版本的安装程序,版本号为 5.0.14。下面将详细介绍 Redis 的核心概念、功能以及使用方法。 1. **Redis 简介**:Redis 是 Remote Dictionary ...
之前项目中要使用window下的...找了好久都只有Redis-x64-3.2.100的,后来发现有更高版本的。这里附件里面包括Redis-x64-5.0.14.1 for Windows版本 与及 原始下载地址。如果有新的版本的话,可以到在原始下载地址找到。
在Windows环境下,Redis的安装通常以MSI(Microsoft Installer)格式的文件进行,就像提供的"Redis-x64-3.0.504.msi"。这个文件是专门为64位Windows操作系统设计的Redis 3.0.504版本的安装程序。 1. **Redis的基本...
4. **redis-check-aof.pdb**:用于检查Append Only File(AOF)日志的调试信息文件。 5. **redis.windows-service.conf**:默认的Windows服务配置文件,用于设置Redis作为Windows服务运行。 6. **redis-check-rdb....