python-redis集合模式

无序集合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)

原文地址:https://www.cnblogs.com/394510636-ff/p/9282129.html