1. 程式人生 > >python-redis集合模式

python-redis集合模式

number font class bsp score nbsp ont res aop

                        無序集合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集合模式