python-redis集合模式

Posted 奔跑de孩子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于python-redis集合模式的主要内容,如果未能解决你的问题,请参考以下文章

Python-Redis的Set操作

python-redis哈希模式

python-redis列表模式

python-redis列表模式

python-redis连接管理

python-redis连接管理