Redis-数据类型-Set(不允许重复)
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 库进行操作。
评论已关闭