1. 程式人生 > >Redis五大資料型別之ZSet(Scores Set)型別-常用命令

Redis五大資料型別之ZSet(Scores Set)型別-常用命令

命令: zadd 格式: zadd [key值] scores[key] value

示例: zadd people 10 v1 20 v2 30 v3 40 v4 50 v5 60 v6 70 v7 建立一個zset名為people,它的key:10值為v1,key:20值為v2…以此類推

注意: scores[key]值必須為數字,這樣zset才可以排序進行比較。

命令: zrange 格式: zrange [key值] [下標索引開始] [下標索引結束]

示例: zrange people 0 -1 查詢出people的所有值(不包括scores)

zrange people 0 -1 withscores

查詢出people的所有值(包括scores)

注意: scores[key]值必須為數字,這樣zset才可以排序進行比較。

命令: zcard 格式: zcard [key值]

示例: zcard people 檢測people中有多少值。

注意: 如果檢測的zset不存在,則返回0。

命令: zcount 格式: zcount [key值] [scores開始位置] [scores結束位置]

示例: zcount people 10 60 檢測people中scores的值10到60之間(包括60和10)有多少資料。

zcount people 10 (60 檢測people中scores的值10到60之間(不包括60)有多少資料。

zcount people (10 (60 檢測people中scores的值10到60之間(不包括60和10)有多少資料。

注意: 如果檢測的zset不存在或區間不對,則返回0。

命令: zrank 格式: zrank [key值] [value值]

示例: zrank people v2 獲取v2在zset中的下標位置

注意: 如果檢測的value不存在,則返回nil。

命令: zscore 格式: zscore [key值] [value值]

示例: zscore people v1 獲得v1對應的分數

注意: 如果檢測的value不存在,則返回nil。

命令: zrevrank

格式: zrevrank [key值] [value值]

示例: zrevrank people v1 逆序獲取v2在zset中的下標位置[就是位置顛倒的]

注意: 如果檢測的value不存在,則返回nil。

命令: zrevrange 格式: zrevrange [key值] 下標索引開始 下標索引結束

示例: zrevrange people 0 -1 獲取所有資料,但是排列與zrange相反。

zrevrange people 0 -1 withscores 獲取所有資料,但是排列與zrange相反且顯示score值

注意: 如果檢測的value不存在,則返回(empty list or set)。

命令: zrevrangebyscore 格式: zrevrangebyscore [key值] score開始 score結束

示例: zrevrangebyscore people 90 30 獲取score值為90到30之間的所有資料,但是排列與zrange相反,且score也是反向的。

zrevrangebyscore people 90 30 withscores 獲取score值為90到30之間的所有資料(包括scores資料),但是排列與zrange相反,且score也是反向的。

注意 : 如果區間超出或不存在,則返回(empty list or set)