康貓100天-第一天-redis入門-2018-11-25
1. zset(sorted set)操作
1.1 在set型別基礎上每個元素都關聯了一個分數,可以根據分數區間獲取元素
1.2 與list區別:list是通過連結串列實現,獲取兩端資料極快,訪問中間資料較慢,適合實現日誌、新鮮事這類很少訪問中間資料的。
zset使用散列表盒跳躍表實現,即使讀取中間資料也很快。
list不能調整元素位置,但是zset可以通過更改元素分數來改變元素位置。
zset要比list更耗費記憶體。
1.3 命令:
1.3.1 增加元素:ZADD key score1 member1 score2 member2
如果元素已存在,則用新分數替換原有分數,返回值事新加入到集合中的元素個數(不包含已存在的元素),分數不僅支援整數,還支援雙精度浮點數,分數可以使17E+5、1.5、+inf、-inf(代表正無窮和負無窮)
1.3.2 獲得元素分數:ZSCORE key member
1.3.3 獲得排名範圍內的元素:
按索引:
ZRANGE key start stop [WITHSCORES](從小到大,從0開始,-1代表最後一個元素,如果兩個元素分數相同,就按照字典順序"0"<"9"<"A"<"Z"<"a"<"z")
ZREVRANGE (從大到小)
按指定分數範圍:
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
ZREVRANGEBYSCORE
1.3.4 增加某元素分數:
ZINCRBY key increment member(返回更改後的分數,可以為負數,如果元素不存在,會先賦值0再進行操作)
1.3.5 獲得集合中元素數量:
ZCARD key
1.3.6 獲得指定分數範圍內元素個數:
ZCOUNT key min max
1.3.7 刪除一個或多個元素:
ZREM key member(返回成功刪除元素數量)
1.3.8 按照排名範圍(索引)刪除:
ZREMRANGEBYRANK key start stop
1.3.9 按照分數範圍刪除:
ZREMRANGEBYSCORE key min max
1.4.0 獲得元素排名:
ZRANK key member(從0開始,分數最小元素排名為0)
ZREVRANGE
1.4.1 計算交集:
ZINTERSTORE new keyNum key1 key2 [weights weight1 weight2] [AGREGATE SUM | MIN | MAX(預設為SUM)]
weights:可以指定單個key的權重,做操作之前先各自乘以相應權重再進行計算
1.4.2 計算並集:
ZUNIONSTORE