Redis-数据类型-Set(不允许重复)
    		       		warning:
    		            这篇文章距离上次修改已过421天,其中的内容可能已经有所变动。
    		        
        		                
                Redis 的 Set 是一种数据类型,它以无序的方式存储多个字符串元素,并保证每个元素都是唯一的。Redis 的 Set 是不允许有重复元素的。
以下是一些使用 Redis Set 的常见操作:
- 添加元素到 Set
import redis
 
r = redis.Redis(host='localhost', port=6379, db=0)
r.sadd('myset', 'hello')
r.sadd('myset', 'world')
r.sadd('myset', 'world')  # 再次添加 'world',由于 Set 中已经存在,所以不会添加- 获取 Set 中的所有元素
print(r.smembers('myset'))  # 输出:{b'world', b'hello'}- 检查元素是否在 Set 中
print(r.sismember('myset', 'hello'))  # 输出:True
print(r.sismember('myset', 'foo'))  # 输出:False- 删除 Set 中的元素
r.srem('myset', 'hello')- 获取 Set 的长度
print(r.scard('myset'))  # 输出:1- 求两个 Set 的交集
r.sadd('myset2', 'hello')
print(r.sinter('myset', 'myset2'))  # 输出:{b'hello'}- 求两个 Set 的并集
print(r.sunion('myset', 'myset2'))  # 输出:{b'world', b'hello'}- 求两个 Set 的差集
print(r.sdiff('myset', 'myset2'))  # 输出:{b'world'}- 随机从 Set 中取出元素
print(r.spop('myset'))  # 输出:b'world'- 使用 Set 进行交集、并集、差集的操作并存储结果到一个新的 Set 中
r.sadd('myset2', 'foo')
r.sadd('myset2', 'bar')
 
# 求交集并存储到 newset
r.sinterstore('newset', 'myset', 'myset2')
print(r.smembers('newset'))  # 输出:{b'hello'}
 
# 求并集并存储到 newset
r.sunionstore('newset', 'myset', 'myset2')
print(r.smembers('newset'))  # 输出:{b'world', b'hello', b'foo', b'bar'}
 
# 求差集并存储到 newset
r.sdiffstore('newset', 'myset', 'myset2')
print(r.smembers('newset'))  # 输出:{b'world'}以上就是 Redis Set 的一些基本操作,在 Python 中使用 Redis 库进行操作。
评论已关闭