美文网首页
Redis笔记之集合对象

Redis笔记之集合对象

作者: slxixiha | 来源:发表于2021-08-28 10:45 被阅读0次

集合对象的编码可以是intset或者字典。

对象中不同类型的适用条件:

只有同时满足以下两个条件时才会使用intset编码:

  1. 集合对象保存的所有元素都是整数值;
  2. 集合对象保存的元素数量不超过512个;

当intset编码的对象有任意条件不符合时就会转换成字典编码。

通过以下操作验证:

127.0.0.1:6379> sadd num 1 3 5
(integer) 3
127.0.0.1:6379> object encoding num
"intset"
127.0.0.1:6379> sadd num "six"
(integer) 1
127.0.0.1:6379> object encoding num
"hashtable"

127.0.0.1:6379> eval "for i=1, 512 do redis.call('sadd', KEYS[1], i) end" 1 integers
(nil)
127.0.0.1:6379> scard integers
(integer) 512
127.0.0.1:6379> object encoding integers
"intset"
127.0.0.1:6379> sadd integers 10086
(integer) 1
127.0.0.1:6379> scard integers
(integer) 513
127.0.0.1:6379> object encoding integers
"hashtable"
对象类型的结构图
  • 整数集合编码类型

    整数集合对象.PNG
  • 字典编码类型

    字典对象.PNG

相关文章

  • Redis笔记之集合对象

    集合对象的编码可以是intset或者字典。 对象中不同类型的适用条件: 只有同时满足以下两个条件时才会使用ints...

  • redis中的对象

    redis的对象包含5种对象: 字符串对象 列表对象 哈希对象 集合对象 有序集合对象 redis对象的好处 针对...

  • Redis对象类型及应用

    Redis数据对象类型  Redis共有五种数据对象,包括:字符串、列表、hash表、集合、有序集合。每种对象都至...

  • 面试题|Java|Redis

    Redis内存模型 Redis内存分配 数据 :Redis存储的数据对象 字符串、哈希、列表、集合、有序集合 进程...

  • redis集合对象

    内容来自:《redis设计与实现》购买本书请访问: 京东商城《Redis 深度历险:核心原理与应用实践》购买本书请...

  • Redis 集合对象

    集合对象的编码可以是 intset 或者 hashtable intset 编码的集合对象使用整数集合作为底层实现...

  • Redis笔记之有序集合对象

    集合对象的编码可以是ziplist或者skiplist。 ziplist编码类型 每个集合元素使用两个紧挨在一起的...

  • redis数据结构--对象

    redis使用对象系统来构建键值对数据库,这个对象系统包括:字符串对象,列表对象,哈希对象,集合对象和有序集合对象...

  • Redis为什么这么快?一文带你深入了解Redis!

    我们使用 Redis 时,会接触 Redis 的 5 种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型...

  • redis源码阅读之集合对象

    redis当中集合对象的底层实现为intset和hashtable实现,用hashtable实现时,存储具体值的是...

网友评论

      本文标题:Redis笔记之集合对象

      本文链接:https://www.haomeiwen.com/subject/dirbiltx.html