mysql有序集合_1.5.7 有序集合(sorted set)

Redis有序集合是一种特殊的数据结构,它包含唯一成员并关联分数进行排序。集合通过哈希表实现,支持快速添加、删除和查找操作。ZADD命令用于向有序集合中添加或更新成员及其分数,例如`ZADD myzset1 1 one`。有序集合可用于存储排名等需要排序的数据。
摘要由CSDN通过智能技术生成

[TOC]

# Redis 有序集合(sorted set)

* Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

* 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

* 有序集合的成员是唯一的,但分数(score)却可以重复。

* 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232\- 1 (4294967295, 每个集合可存储40多亿个成员)。

**实例**

~~~

redis 127.0.0.1:6379> ZADD runoobkey 1 redis

(integer) 1

redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb

(integer) 1

redis 127.0.0.1:6379> ZADD runoobkey 3 mysql

(integer) 1

redis 127.0.0.1:6379> ZADD runoobkey 3 mysql

(integer) 0

redis 127.0.0.1:6379> ZADD runoobkey 4 mysql

(integer) 0

redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES

1) "redis"

2) "1"

3) "mongodb"

4) "2"

5) "mysql"

6) "4"

~~~

在以上实例中我们通过命令**ZADD**向 redis 的有序集合中添加了三个值并关联上分数。

## Redis 有序集合命令

1. Redis zadd 命令

Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。

如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。

分数值可以是整数值或双精度浮点数。

如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。

当 key 存在但不是有序集类型时,返回一个错误。

**注意**:在 Redis 2.4 版本以前, ZADD 每次只能添加一个元素。

**语法**

redis Zadd 命令基本语法如下:

~~~

redis 127.0.0.1:6379> ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN

~~~

**可用版本**

`\>= 1.2.0`

**返回值**

被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。

**实例**

~~~

redis> ZADD myzset 1 "one"

(integer) 1

redis> ZADD myzset 1 "uno"

(integer) 1

redis> ZADD myzset 2 "two" 3 "three"

(integer) 2

redis> ZRANGE myzset 0 -1 WITHSCORES

1) "one"

2) "1"

3) "uno"

4) "1"

5) "two"

6) "2"

7) "three"

8) "3"

redis>

~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值