#如何使用Redis排序列表

排序集將每個項目與一個排名關聯起來。

排序集的工作方式與集合類似,它們使用類似的命令,只是將S替換為Z,例如:

  • SADD -> ZADD
  • SPOP -> ZPOP

但它們略有不同。

ZADD接受一個分數

ZADD names 1 "Flavio"
ZADD names 2 "Syd"
ZADD names 2 "Roger"

如您所見,值仍然必須是唯一的,但現在它們與一個分數相關聯。

分數不必唯一。

集合中的項目始終按照分數排序。

這對於實現某種數據存儲工具非常有用,例如(常見示例)排行榜,或者用時間戳表示某個項目的添加時間。

您可以使用ZRANK獲取項目的分數:

ZRANK names "Flavio"

使用ZRANGE列出排序集中的所有項目,其工作方式與列表中的LRANGE類似:

ZRANGE names 0 -1

WITHSCORES添加到還可返回分數信息:

您可以使用ZINCRBY將集合中的項目的分數增加。

在此處查看所有排序集命令這裡