第1篇:https://www.cnblogs.com/cgzl/p/10294175.html 第2篇 String:https://www.cnblogs.com/cgzl/p/10297565.html 第3篇 Hash:https://www.cnblogs.com/cgzl/p/10301 ...
第1篇:https://www.cnblogs.com/cgzl/p/10294175.html
第2篇 String:https://www.cnblogs.com/cgzl/p/10297565.html
第3篇 Hash:https://www.cnblogs.com/cgzl/p/10301916.html
第4篇 List和Set:https://www.cnblogs.com/cgzl/p/10309415.html
本文介紹Redis的Sorted SET,可能比較無聊,大多內容來自文檔。
Sorted SET
Sorted Set有點像Set和Hash的結合體。
和Set一樣,它裡面的元素是唯一的,類型是String,所以它可以理解為就是一個Set。
但是Set裡面的元素是無序的,而Sorted Set裡面的元素都帶有一個浮點值,叫做分數(score),所以這一點和Hash有點像,因為每個元素都映射到了一個值。
Sorted Set是有序的,規則如下:
- 如果A.score > B.score,那麼A > B。
- 如果A.score == B.score,那麼A和B的大小就通過比較字元串來決定了,而A和B的字元串是不會相等的,因為Sorted Set裡面的值都是唯一的。
ZADD
ZADD可以添加元素到Sorted Set,就和Set的SADD命令差不多:
可以看到ZADD的格式是:zadd key score element。
ZRANGE,ZREVRANGE
ZRANGE預設按分數由低到高把Sorted Set的元素顯示出來:
想按分數要從高到低顯示,需要使用ZREVRANGE:
也可以一同把分數顯示出來,使用參數WITHSCORES:
ZRANGEBYSCORE
ZRANGEBYSCORE可以按範圍顯示Sorted Set,格式是zrangebyscore key 分數下限 分數上限:
可以看到結果也包括了分數下限和分數上限這兩個邊。
ZREMRANGEBYSCORE
ZREMRANGEBYSCORE可以按範圍移除元素:
該命令返回的是移除元素的個數。
其中-inf和inf分別表示負無窮和正無窮。
ZRANK
ZRANK命令可以獲得元素的排名:
註意,排名是從0開始的。
ZREVRANK
ZREVRANK這個正好和ZRANK相反,就不說了。
詞典分數
Sorted Set里分數相同的元素是按照詞典分數(可以理解為比較字元串)進行排序的。
ZRANGEBYLEX
ZRANGEBYLEX可以按詞典範圍展示Sorted Set:
可以看到該命令把開頭字目為C到E(不包括E)的元素都顯示了出來。
還有ZREVRANGEBYLEX,ZREMRANGEBYLEX,ZLEXCOUNT等針對詞典的命令,請自行探索。
在.NET Core 項目里操練
ZADD,ZRANGE
ZREVRANGE,WITHSCORES
結果:
ZRANGEBYSCORE
結果:
ZREMRANGEBYSCORE
結果:
ZRANK
結果:
ZRANGEBYLEX
結果:
本系列的文字介紹就到這,接下來開始錄製視頻,依舊B站,謝謝。