日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis常用命令之操作SortedSet(有序集合)

發布時間:2025/3/19 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis常用命令之操作SortedSet(有序集合) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

Centos中Redis的下載編譯與安裝(超詳細):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334

Redis的啟動和關閉(前臺啟動和后臺啟動):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348

RedisDesktopManager客戶端可視化工具下載安裝與使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

有序集合和集合一樣也是string類型元素的集合,且不允許重復的成員。不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

ZADD命令

語法

ZADD key score member [[score member] [score member] ...]

將一個或多個 member 元素及其 score 值加入到有序集 key 當中。

如果某個 member 已經是有序集的成員,那么更新這個 member 的 score 值,并通過重新插入這個 member 元素,來保證該 member 在正確的位置上。

score 值可以是整數值或雙精度浮點數。

如果 key 不存在,則創建一個空的有序集并執行 ZADD 操作。

當 key 存在但不是有序集類型時,返回一個錯誤。

舉例

?

ZRANGE命令

語法

ZRANGE key start stop [WITHSCORES]

返回有序集 key 中,指定區間內的成員。

其中成員的位置按 score 值遞增(從小到大)來排序。

具有相同 score 值的成員按字典序(lexicographical order )來排列。

如果你需要成員按 score 值遞減(從大到小)來排列,請使用 ZREVRANGE 命令。

下標參數 start 和 stop 都以 0 為底,也就是說,以 0 表示有序集第一個成員,以 1 表示有序集第二個成員,以此類推。
你也可以使用負數下標,以 -1 表示最后一個成員, -2 表示倒數第二個成員,以此類推。
超出范圍的下標并不會引起錯誤。
比如說,當 start 的值比有序集的最大下標還要大,或是 start > stop 時, ZRANGE 命令只是簡單地返回一個空列表。
另一方面,假如 stop 參數的值比有序集的最大下標還要大,那么 Redis 將 stop 當作最大下標來處理。
可以通過使用 WITHSCORES 選項,來讓成員和它的 score 值一并返回,返回列表以 value1,score1, ..., valueN,scoreN 的格式表示。
客戶端庫可能會返回一些更復雜的數據類型,比如數組、元組等。

舉例同上圖

ZREM命令

語法

移除有序集 key 中的一個或多個成員,不存在的成員將被忽略。

當 key 存在但不是有序集類型時,返回一個錯誤。

舉例

?

ZSCORE命令

語法

ZSCORE key member

返回有序集 key 中,成員 member 的 score 值。

如果 member 元素不是有序集 key 的成員,或 key 不存在,返回 nil 。

舉例

?

ZREVRANGE命令

語法

ZREVRANGE key start stop [WITHSCORES]

返回有序集 key 中,指定區間內的成員。

其中成員的位置按 score 值遞減(從大到小)來排列。
具有相同 score 值的成員按字典序的逆序(reverse lexicographical order)排列。
除了成員按 score 值遞減的次序排列這一點外, ZREVRANGE 命令的其他方面和 ZRANGE 命令一樣。

?

舉例

?

ZRANK命令

語法

ZRANK key member

返回有序集 key 中成員 member 的排名。其中有序集成員按 score 值遞增(從小到大)順序排列。

排名以 0 為底,也就是說, score 值最小的成員排名為 0 。

使用 ZREVRANK 命令可以獲得成員按 score 值遞減(從大到小)排列的排名。

舉例

?

ZREVRANK命令

語法

ZREVRANK key member

返回有序集 key 中成員 member 的排名。其中有序集成員按 score 值遞減(從大到小)排序。

排名以 0 為底,也就是說, score 值最大的成員排名為 0 。

使用 ZRANK 命令可以獲得成員按 score 值遞增(從小到大)排列的排名。

舉例

?

ZCARD命令

語法

ZCARD key

返回有序集 key 的基數。

即返回集合里所有元素的個數。

舉例

?

ZCOUNT命令

語法

ZCOUNT key min max

返回有序集 key 中, score 值在 min 和 max 之間(默認包括 score 值等于 min 或 max )的成員的數量。

舉例

?

ZINCRBY命令

語法

ZINCRBY key increment member

為有序集 key 的成員 member 的 score 值加上增量 increment 。

可以通過傳遞一個負數值 increment ,讓 score 減去相應的值,比如 ZINCRBY key -5 member ,就是讓 member 的 score 值減去 5 。

當 key 不存在,或 member 不是 key 的成員時, ZINCRBY key increment member 等同于 ZADD key increment member 。

當 key 不是有序集類型時,返回一個錯誤。

score 值可以是整數值或雙精度浮點數。

舉例

?

其他命令參考

http://doc.redisfans.com/sorted_set/index.html

總結

以上是生活随笔為你收集整理的Redis常用命令之操作SortedSet(有序集合)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。