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塞进去

相关推荐
我要见SA姐12 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh3 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客3 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐14 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils5 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶5 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕5 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女6 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴6 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因
这个DBA有点耶6 小时前
MySQL 8.0.20移除了Block Nested Loop,之前学的JOIN优化知识还适用吗?
数据库·mysql·架构