1. 程式人生 > 資料庫 >Redis 有序集合(sorted set)

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 的有序集合中添加了三個值並關聯上分數。