一、连接Redis
# redis_test文件
import redis
REDIS_INFO = {
"host": "127.0.0.1",
"password": "123456",
"port": 6379,
"db": 0,
"max_connections": 100
}
connect = redis.StrictRedis(host=REDIS_INFO['host'], port=REDIS_INFO['port'], password=REDIS_INFO['password'], db=REDIS_INFO['db'])
二、set操作
1、sadd方法
"""
name: 可以理解为字典的key
作用:
1.如果key不存在则创建一个名称为name的key,value为set。
2.为name的value的set添加元素(无序,不会重复添加)
eg: connect.sadd('name', 1,2,3,4,5)
返回值: 添加元素的元素个数
"""
connect.sadd('name', *values)
2、srem方法
"""
name: 可以理解为字典的key
作用: 为name的value的set删除元素(无序,不会重复添加)
eg: connect.srem('name', 1,2,3,4,5)
返回值: 删除的元素个数
"""
connect.srem('name', *values)
3、spop方法
"""
name: 可以理解为字典的key
作用: 删除key为name的list中的一个元素
返回值: 返回删除的元素
"""
connect.spop('name')
4、smove方法
"""
name: 可以理解为字典的key
value: 可以理解为字典的value
作用: 从name对应的set中移除元素并添加到dst对应的set中
返回值: 返回删除的元素
"""
connect.smove('name', dst, value)
5、scard方法
"""
name: 可以理解为字典的key
返回值: 返回key为name的set的元素个数
"""
connect.scard('name')
6、sismember方法
"""
name: 可以理解为字典的key
value: 可以理解为字典的value
作用: 测试member是否是key为name的set的元素
返回值: True or False
"""
connect.sismember('name', 'value')
7、sinter方法
"""
*keys: 可以理解为字典的key的集合(list)
eg: sinter(['name', 'name1'])
返回值: 返回所有给定key的set的交集
"""
connect.sinter(*keys)
8、sinterstore方法
"""
name: 可以理解为字典的key
*keys: 可以理解为字典的key的集合(list)
eg: sinterstore('name3', ['name1', 'name2'])
作用: 将*keys交集保存到name的集合
返回值: 返回交集个数
"""
connect.sinterstore('name', *keys)
9、sunion方法
"""
*keys: 可以理解为字典的key的集合(list)
eg: sunion(['name1', 'name2'])
返回值: 返回所有给定key的set的并集
"""
connect.sunion(*keys)
10、sunionstore方法
"""
name: 可以理解为字典的key
*keys: 可以理解为字典的key的集合(list)
eg: sunionstore('name3', ['name1', 'name2'])
作用: 将*keys交集保存到name的集合
返回值: 返回*keys交集个数
"""
connect.sunionstore('name', *keys)
11、sdiff方法
"""
*keys: 可以理解为字典的key的集合(list)
eg: sdiff(['name1', 'name2'])
返回值: 返回所有给定key的set的差集
"""
connect.sdiff(*keys)
12、sdiffstore方法
"""
name: 可以理解为字典的key
*keys: 可以理解为字典的key的集合(list)
eg: sunionstore('name3', ['name1', 'name2'])
作用: 将*keys差集保存到name的集合
返回值: 返回*keys差集个数
"""
connect.sdiffstore('name', *keys)
13、smembers方法
"""
name: 可以理解为字典的key
返回值: 返回key为name的set的所有元素(eg:{1,2,3})
"""
connect.smembers('name')
14、srandmember方法
"""
name: 可以理解为字典的key
返回值: 随机返回key为name的set的一个元素
"""
connect.srandmember('name')
提示: Set类似于list结构,区别在于set有去重功能。set是无序集合,底层是value为null的hash表【hash是一个map结构】。所以操作时间复杂度是O(1)。set提供了判断某个成员是否在一个Set集合内的重要接口,是list无法提供的功能。