你的位置:首页 > 软件开发 > 数据库 > Redis学习笔记(五)

Redis学习笔记(五)

发布时间:2016-07-15 00:00:10
Redis 的set是string类型的无序集合。set元素最大可以包含(2的32次方-1)个元素。set的是通过hash table实现的,所以添加,删除,查找的复杂度都是O(1)。hash table会随着添加或者删除自动的调整大小。需要注意的是调整hash table大小时 ...

  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中的一个元素,但是不删除元素

  Redis学习笔记(五)

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

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

  Redis学习笔记(五)

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

  Redis学习笔记(五)

  Redis学习笔记(五)


原标题:Redis学习笔记(五)

关键词:Redis

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录