Redis---Redis操作之有序集合
有序集合,在集合的基礎上,為每元素排序;元素的排序需要根據另外一個值來進行比較,所以,對於有序集合,每一個元素有兩個值,即:值和分數,分數專門用來做排序。
zadd(name, *args, **kwargs) #在name對應的有序集合中添加元素
--------------------------------------------------------------------------------------------------------------------------------------
zcard(name) # 獲取name對應的有序集合元素的數量
--------------------------------------------------------------------------------------------------------------------------------------
zcount(name, min, max) # 獲取name對應的有序集合中分數 在 [min,max] 之間的個數
--------------------------------------------------------------------------------------------------------------------------------------
zincrby(name, value, amount) # 自增name對應的有序集合的 name 對應的分數--------------------------------------------------------------------------------------------------------------------------------------
r.zrange( name, start, end, desc=False, withscores=False, score_cast_func=float) # 按照索引範圍獲取name對應的有序集合的元素 # 參數: # name,redis的name # start,有序集合索引起始位置(非分數) # end,有序集合索引結束位置(非分數) # desc,排序規則,默認按照分數從小到大排序 # withscores,是否獲取元素的分數,默認只獲取元素的值 # score_cast_func,對分數進行數據轉換的函數 # 更多: # 從大到小排序 # zrevrange(name, start, end, withscores=False, score_cast_func=float) # 按照分數範圍獲取name對應的有序集合的元素 # zrangebyscore(name, min, max, start=None, num=None, withscores=False, score_cast_func=float) # 從大到小排序 # zrevrangebyscore(name, max, min, start=None, num=None, withscores=False, score_cast_func=float)
--------------------------------------------------------------------------------------------------------------------------------------
zrank(name, value) # 獲取某個值在 name對應的有序集合中的排行(從 0 開始) # 更多: # zrevrank(name, value),從大到小排序
--------------------------------------------------------------------------------------------------------------------------------------
zrem(name, values) # 刪除name對應的有序集合中值是values的成員 # 如:zrem(‘zz‘, [‘s1‘, ‘s2‘])--------------------------------------------------------------------------------------------------------------------------------------
zremrangebyrank(name, min, max) # 根據排行範圍刪除
--------------------------------------------------------------------------------------------------------------------------------------
zremrangebyscore(name, min, max) # 根據分數範圍刪除
--------------------------------------------------------------------------------------------------------------------------------------
zscore(name, value) # 獲取name對應有序集合中 value 對應的分數
--------------------------------------------------------------------------------------------------------------------------------------
zinterstore(dest, keys, aggregate=None) # 獲取兩個有序集合的交集,如果遇到相同值不同分數,則按照aggregate進行操作 # aggregate的值為: SUM MIN MAX
--------------------------------------------------------------------------------------------------------------------------------------
zscan(name, cursor=0, match=None, count=None, score_cast_func=float) zscan_iter(name, match=None, count=None,score_cast_func=float) # 同字符串相似,相較於字符串新增score_cast_func,用來對分數進行操作
Redis---Redis操作之有序集合