• Redis学习笔记(五)- 数据类型之set类型


      Redis 的set是string类型的无序集合。set元素最大可以包含(2的32次方-1)个元素。set的是通过hash table实现的,所以添加,删除,查找的复杂度都是O(1)。hash table会随着添加或者删除自动的调整大小。需要注意的是调整hash table大小时候需要同步(获取写锁)会阻塞其他读写操作。可能不久后就会改用跳表(skip list)来实现,跳表已经在sorted set中使用了。关于set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)。通过这些操作可以很容易的实现sns中的好友推荐和blog的tag功能。

      set相关命令:

      sadd key member 添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0

      scard key 返回set的元素个数,如果set是空或者key不存在返回0

      smembers key 返回key对应set的所有元素,结果是无序的

      sismember key member 判断member是否在set中,存在返回1,0表示不存在或者key不存在

      srandmember key 同spop,随机取set中的一个元素,但是不删除元素

      

      spop key 删除并返回key对应set中随机的一个元素,如果set是空或者key不存在返回nil

      srem key member 从key对应set中移除给定元素,成功返回1,如果member在集合中不存在或者key不存在返回0

      

      smove srckey dstkey member 从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误

      

      

  • 相关阅读:
    Xml命名空间添加前缀的意义
    解决vs Installer无法下载更新
    mongodb模糊查询
    mongodb排序
    mongodb如何修改_id
    向Mongodb中插入数组元素
    Mongodb 常见操作符
    452.用最少数量的箭引爆气球
    450.删除二叉搜索树中的节点-medium
    45.跳跃游戏 II
  • 原文地址:https://www.cnblogs.com/leny/p/5672001.html
Copyright © 2020-2023  润新知