一、连接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无法提供的功能。

添加微信