標籤:有序 mem code 之間 fst scan info 取值 rand
無序集合SADD
set集合是直接去重的,只會輸出 xiao hehe
sadd names3 xiao xiao hehe hehe
擷取集合 names3的所有值,集合不能用切片形式擷取值,因為是無序的
SMEMBERS names3
擷取names3對應的集合中元素個數
SCARD names3
兩個集合的差集:
sdiff names3 names4
兩個集合的差集並且得到的結果賦值給新集合n6:
SDIFFSTORE n6 names3 names4
交集:
SINTER names3 names4
判斷names3裡面是否有hehe元素:
SISMEMBER names3 hehe
從一個集合移動到另一個集合:
smove(src, dst, value)
# 將某個成員從一個集合中移動到另外一個集合
隨機擷取一個集合裡面的元素:
SRANDMEMBER names3
#從name對應的集合中隨機擷取 numbers 個元素
srandmember
#在name對應的集合中刪除某些值
srem names3 hehe
並集:
SUNION names3 names4
# 擷取多一個name對應的集合的並集,並將結果儲存到dest對應的集合中
sunionstore(dest,keys, *args)
集合names3,names4的並集結果,存放到集合n7中,再用sscan查看
有序集合:ZADD
添加集合 z1:
ZADD z1 10 xiaopang 5 jack 8 rain 4 jane #可以改數字,值不可以更改
擷取集合z1的值(有序的都用range擷取)
ZRANGE z1 0 -1 WITHSCORES(顯示數字)
集合裡元素分數區間:
ZCOUNT z1 4 10(4 10是 min max)
# 自增name對應的有序集合的 name 對應的分數
zincrby(name, value, amount)
# 擷取某個值在 name對應的有序集合中的排行(從 0 開始)
ZRANK z1 xiaopang
# 根據排行範圍刪除
zremrangebyrank(name, min, max)
根據name值擷取分數:
ZSCORE z1 xiaopang
兩個集合之間取交集,並且賦值給新的集合:
ZINTERSTORE z3 2 z1 z2 #2是代表有兩個集合的交集
刪除key,並且設定逾時時間:
expire(name ,time)
python-redis集合模式