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

相关推荐
long3165 小时前
MySQL 学习练习(配套 01 入门资料)
数据库·学习·mysql
数据库小学妹6 小时前
数据库等保三级和四级有什么区别?从访问控制到备份恢复的完整对比
数据库·安全·数据库安全·三级等保·等保合规·四级等保
看浪的路人7 小时前
第3讲:手写第一个 MCP Server(Python SDK)
jvm·数据库·oracle
大眼、不聚光8 小时前
5.mysql--主从同步安装部署
数据库·mysql
Yan_chen6669 小时前
SQL-LABS_Less18-20实战攻略
数据库·sql·web安全·网络安全
oradh9 小时前
Oracle RAC OCR维护操作总结
数据库·oracle·ocr·rac ocr维护·ocr维护·vote disk
snow@li9 小时前
HikariCP:高性能数据库连接池全景深入梳理
java·数据库
一个天蝎座的程序猿10 小时前
传统数据库迁金仓KES,空值问题差点让财务报表翻车
数据库
wWYy.10 小时前
Mysql:索引下推
数据库·mysql
风123456789~12 小时前
【Oracle专栏】ORA-02069: global_names 参数
数据库·oracle