python连接Redis,集合(set)的简单操作

灰太狼 2023-02-18 03:00 76阅读 0赞

集合(SET)

  • 新的存储需求:存储大量的数据,在查询方面提供更高的效率 ;
  • 需要的存储结构:能够保留大量的数据,高效的内部存储机制,便于查询;
  • Set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值不允许重复。

注意:

  1. 集合内的字符串值不能重复
  2. 集合内的字符串值不排序
    在这里插入图片描述在这里插入图片描述

    import redis
    client = redis.Redis(decode_responses=True)
    client.sadd(‘add’,’banana’,’bear’,’beat’,’Apple’,’cup’,’descend’)

    print(‘所有元素:’,client.smembers(‘add’)) #返回集合的所有元素
    print(‘移除:’,client.spop(‘add’)) #在集合中随机获取一个元素,并移除
    print(‘删除Apple:’,client.srem(‘add’,’Apple’)) #删除集合中的指定的元素
    print(‘元素个数:’,client.scard(‘add’)) #返回元素个数
    print(‘随机返回:’,client.srandmember(‘add’),’\n’) #从集合中随机返回一个或多个元素

    print(‘是否存在’,client.sismember(‘add’,’banana’))#集合成员是否存在判断

    print(client.move(‘add’,’zdd’)) #把第一个集合的元素移动到第二个集合中

    print(“剩下:”,client.smembers(‘add’))
    print(‘增量迭代:’,client.sscan(‘add’,0,’b*’)) #增量迭代式返回集合中的元素’’’
    client.sadd(‘zdd’,’12110’,’1211’,’12111’,’bear’,’descend’)

    sinter sunion sdiff 交并差集

    SunionStore命令:带存储的集合并运算

    snew = client.sunionstore(‘sn’,’add’,’zdd’)
    s1 = client.sinter(‘add’,’zdd’)
    s2 = client.sunion(‘add’,’zdd’)
    s3 = client.sdiff(‘add’,’zdd’)
    print(‘集合并运算:’,snew,’:’,client.smembers(‘sn’))
    print(‘交:’,s1)
    print(‘并:’,s2)
    print(‘差:’,s3)

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,76人围观)

还没有评论,来说两句吧...

相关阅读

    相关 redis集合set

    集合和散列都可以存储多个字符串,它们之间的不同在于,列表可以存储多个相同的字符串,而集合则通过使用散列表来保证自己存储的每个字符串都是各不相同的。 集合是无序的方式存储各不相

    相关 Redis 集合Set

    Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以其添加、查找、删除的时