`

Redis基本数据类型介绍及相关方法介绍笔记--Zset(Sorted set)类型

阅读更多

Redis五种数据类型之 Zset 类型

ZSets类型是一种有序集合,在set基础上添加顺序属性,添加元素时指定顺序,每次指定后zset会自动重新按照顺序将值重新调整顺序,可以理解为两列mysql表,一列存value一列存顺序key。

下面切入正题咯:

 常用命令总结(自用总结 不喜勿喷):

示意图

|      value      |      order      |

|     harbor     |         1         |

|     chung      |        2          |

取1时得到harbor

取2时得到值chung

 

1.zadd方法

添加一个新元素

eg:

127.0.0.1:6379> zadd zset 1 “harbor"

(integer) 1

127.0.0.1:6379> zadd zset 2 "harborChung"

(integer) 1

 

2.zrange方法

取元素 0代表索引起始位置 -1代表所以结束为止 可选命令 withscores输出顺序号

eg:

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harbor"

2) "1"

3) "harborChung"

4) “2"

 

3.zrem方法

删除名称为key的zset中的元素member,返回值1代表成功,0代表失败.

eg:

127.0.0.1:6379> zrem zset aa

(integer) 0

127.0.0.1:6379> zrem zset "harbor"

(integer) 1

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) “2"

 

4.zincrby方法

以指定值增加相应key中的顺序

如果在名称为key的zset中已存在member,则将此元素的次序增加指定值,否则向该集合添加此元素并使其顺序值为指定值。返回值为该元素的顺序值

eg:

127.0.0.1:6379> zincrby zset 10 "harbor"

"10"

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harbor"

4) “11"

不存在该元素情况:

127.0.0.1:6379> zincrby zset 11 "harbor"

"21"

127.0.0.1:6379> zincrby zset 11 "harborZZZ"

"11"

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) "11"

5) "harbor"

 6) “21"

 

5.zrank方法

返回名称为key的zset中的member元素排名(索引)按下标排序 从小到大

eg:

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) "11"

5) "harbor"

6) "21"

127.0.0.1:6379> zrank zset "harbor"

(integer) 2

127.0.0.1:6379> zrank zset "harborChung"

(integer) 0

127.0.0.1:6379> zrank zset "harborZZZ"

 (integer) 1

 

6.zrevrank方法

返回名称为key的zset中的member元素排名(索引)按下标排序 从大到小

eg:

127.0.0.1:6379> zrevrank zset "harborChung"

(integer) 2

127.0.0.1:6379> zrevrank zset "harbor"

(integer) 0

127.0.0.1:6379> zrevrank zset "harborZZZ"

(integer) 1

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) "11"

5) "harbor"

6) “21"

 

7.zrevrange方法

按照顺序反向(降序)排序

与Zrange对比:

eg:

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) "11"

5) "harbor"

6) "21"

127.0.0.1:6379> zrevrange zset 0 -1 withscores

1) "harbor"

2) "21"

3) "harborZZZ"

4) "11"

5) "harborChung"

6) "2"

 

 8.zrangebyscore方法

查找给定顺序范围内的元素并返回这些元素 给定范围构成的闭集合 如2 11则返回序号2(包括2)到序号11的这些元素(包括11).

eg:

127.0.0.1:6379> zrangebyscore zset 2 15 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) “11"

 

9.zcount方法

返回集合中score在给定区间的数量

eg:

127.0.0.1:6379> zcount zset 2 11 

(integer) 2

 

10. zcard方法

返回该集合中的所有元素个数

eg:

127.0.0.1:6379> zcard zset  

(integer) 3

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) "11"

5) "harbor"

6) "21"

 

11.zremrangebyrank方法

按下标升序排序后删除给定区间内的元素

(删除集合中索引在给定区间的元素)

输入参数为给定区间范围 含义为索引

eg:

—删除索引为1 2 的元素

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

2) "2"

3) "harborZZZ"

4) "11"

5) "harbor"

6) "21"

127.0.0.1:6379> zremrangebyrank zset 1 2 

(integer) 2

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harborChung"

 2) "2"

 

—删除所有元素

127.0.0.1:6379> zremrangebyrank zset 0 -1 

(integer) 1

127.0.0.1:6379> zrange zset 0 -1 withscores

(empty list or set)

 

12.zremrangebyscore方法

按下标升序排序后删除给定区间内的元素

(删除集合中序号在给定区间的元素)

输入参数为给定区间范围 含义为序号

eg:

127.0.0.1:6379> zrange zset 0 -1 withscores

 1) "harbor"

 2) "1"

 3) "harborChung"

 4) "2"

 5) "ChungH"

 6) "10"

 7) "Chung"

 8) "30"

 9) "ZZZChung"

10) "32"

127.0.0.1:6379> zremrangebyscore zset 30 35

(integer) 2

127.0.0.1:6379> zrange zset 0 -1 withscores

1) "harbor"

2) "1"

3) "harborChung"

4) "2"

5) "ChungH"

6) “10"

分享到:
评论

相关推荐

    狂神说Redis笔记.pdf

    5. Zset(Sorted Set):有序集合,包含唯一字符串成员,每个成员都有一个分数,用于排序。 此外,Redis还提供了几种特殊数据类型: 6. Geo:地理空间数据类型,用于存储和检索地理位置信息。 7. HyperLogLog:概率...

    Redis缓存老师笔记第二部分

    Redis提供了五种基本数据类型:String、Hash、List、Set和Sorted Set。每种数据类型都有其特点和用途。 1. Hash数据类型 Hash数据类型类似于Java中的HashMap,具有键值对的结构。每个Hash数据类型都可以包含多个...

    Redis全套学习笔记

    它支持多种数据结构,包括字符串(String)、链表(List)、哈希(Hash)、集合(Set)和有序集合(Zset),这些丰富的数据结构使得Redis在缓存、计数、发布订阅系统等多种场景下表现出色。 1. Redis 概述与安装: Redis ...

    redis教程.zip

    Redis是一款高性能的键值存储系统...在“8.redis的数据类型Zset.docx”文件中,将详细介绍Sorted Set的特性、操作命令及实际应用场景,如存储排名系统、时间轴等。学习和掌握这些内容,有助于深入理解和高效使用Redis。

    redis_learning:为自己重做学习笔记

    1. 数据类型:Redis 支持五种主要的数据类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。每种类型都有其特定的用途和操作命令。 2. 持久化:Redis 提供了多种持久化策略,如RDB...

    15道2022年Java经典面试题及答案汇总.docx

    Redis 是一个 key-value 存储系统,它支持存储的 value 类型相对更多,包括 string、list、set、zset(sorted set --有序集合)和 hash。这些数据结构都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作...

Global site tag (gtag.js) - Google Analytics