Redis储存结构

Redis怎么储存的

这个redisDb是数据库对象 里面的其他字段忽略了 然后里面有个dict列表(字典列表)

我们随便来看一个redisObject

区分一下子啊 他这个dict里面没有存redisObject的对象 也没有存dict对象 它只是存了个数据指针

你看那个redis每个底层编码 抠搜的 这块要是再保存一份都浪费回去了

过期键

Redis数据都可以设置过期键,这样到了一定的时间,这些对象就会自动过期并回收。这些过期键没有和一般键存放在一起

错误的:啊 这存的也是指针 这个dict和expires里面存的都是key 都是同一份数据 虽然画是这么画的但实际上两个dict的key都能找时间戳和value(通过指针)

这两个dict里面存的是key对象的指针(也就是String对象的指针) value一个是任意对象 一个是timestamp 这个key是会在两个dict复用的 所以直接用指针

我们之前说的对象虽然有的是key-value结构 但是不代表这里的key-value结构是一个对象 这里的key是一个string对象 value又是一个对象

SET a b,这个数据的存储结构是怎样的?

Redis储存引擎里面有一个dict 把a放在对应偏移量上 然后再把b作为它的对应value储存

SET a 100 ex 60之后,调用TTL a,此时这个过期信息是存储在哪里的?

直接把这个key对象指针 放到expires里面 然后再把时间戳作为value塞进去

相关推荐
RestCloud6 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud6 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence8 小时前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger15 小时前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
AAA修煤气灶刘哥1 天前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
AAA修煤气灶刘哥1 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud1 天前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术1 天前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
christine-rr2 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
可涵不会debug2 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库