转载

介绍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专题

缓存专题

原文  http://www.jdon.com/repository/redis-data-structures-sets.html
正文到此结束
Loading...