发帖  主题  评论  推荐  标签 用户 查搜   用户 密码 自动 注册  
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 CQRS

介绍Redis数据结构set

  Redis Set是一种未排序的字符串集合,注意,字符串是Redis基本的值,几乎可以包含任何东西,Set提供一种常量时间的加入、移除和成员检查,同时也支持set之间的 fast union, intersection, subtraction,当然,Set不会允许有重复的值。

  下面是从redis-cli演示的Redis set案例:

  增加成员到一个set:

sadd users:all 11 12 13 14 15 Rocket Pocket Socket

  查询这个set成员:

smembers users:all
1) "Pocket"
2) "11"
3) "Socket"
4) "13"
5) "14"
6) "Rocket"
7) "12"
8) "15"

  Redis内部存储Set作为字典dictionarie,Redis中字典是一种哈希表实现,使用的是 MurmurHash2哈希功能,通过 incremental resizing算法扩展增长,哈希冲突由chaining处理。

  Set为小型集合有特别的编码,这个小型集合是所有成员在64位签名证书的基数10范围内,称为 IntSet. 这是整数型的排序数组基础,在数组中搜索是通过二进制搜索实现,显然这些对小型set是有效率的,集合大小是由set-max-intset-entries配置的,缺省默认是512。

  Redis Set作为小型集合可能应用场景:可以使用Set作为跟踪IP地址;也可以表达“属于”等类似关系标志:比如动物属于生物等关系;Set还可以用来结合关系,比如Set的union/intersection/subtraction关系。

 

介绍Redis数据结构hash

Redis安装

Redis Cluster快速安装指南

NoSQL专题

缓存专题

 

解道移动版 | 关注解道 | 联系解道 | 关于解道 | 广告联系 | 网站地图 | 设为首页

沪ICP证12033263 如有意见请与我们联系 Powered by JdonFramework
返回顶部