計算已排序集中的專案
Redis 提供了三個命令來計算有序集合中的專案:ZCARD,ZCOUNT,ZLEXCOUNT。
ZCARD 命令是對集合基數的基本測試。 (它類似於集合的 SCARD 命令。)。ZCARD 返回集合成員的計數。執行以下程式碼以將項新增到集:
zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer
執行 ZCard:
zcard favs
返回值 4。
ZCOUNT 和 ZLEXCOUNT 命令允許你根據值範圍計算排序集中專案的子集。ZCOUNT 允許你計算特定分數範圍內的專案,ZLEXCOUNT 允許你計算特定詞彙範圍內的專案數。
使用上面的集合:
zcount favs 2 5
將返回 3,因為有三個專案(比薩餅,巧克力,啤酒)的得分在 2 到 5 之間。
ZLEXCOUNT 旨在使用集合,其中每個專案具有相同的分數,強制和訂購元素名稱。如果我們建立了一個像:
zadd favs 1 apple
zadd favs 1 pizza
zadd favs 1 chocolate
zadd favs 1 beer
我們可以使用 ZLEXCOUNT 來獲取特定詞法範圍內的元素數量(這可以通過使用 memcpy 函式進行逐位元組比較來完成)。
zlexcount favs [apple (chocolate
會返回 2,因為兩個元素(蘋果,啤酒)屬於蘋果(含)和巧克力(獨家)。我們可以選擇包括兩端:
zlexcount favs [apple [chocolate
得到結果 3。