`

redis集合类型概述(2-1)

阅读更多
  • 集合类型的概念
  • 集合类型的底层实现
  • 集合类型的应用场景


一、set是string类型的无序集合,无重复元素,底层是hashtable。对该集合可以取并集、交集、差集。(通过这些操作我们可以实现sns中的好友推荐)。set的最大长度是2^32-1.

二、底层实现
Redis 集合类型使用两种数据结构作为底层实现:
1. 整数集合
2. 字典
当集合对象保存的所有元素都是整数值且元素数量不超过512个时使用整数集合;不满足这个条件的集合对象使用 hashtable 编码。

当使用字典编码时,集合将元素保存到字典的键里面,而字典的值统一设为 NULL,下图展示了一个以字典编码表示的集合,集合成员为 elem1、elem2 和 elem3。

图解(引自极客学院玉不琢老师):
集合:

底层存储模式:
  • 大小: 208.2 KB
  • 大小: 116.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics