redis 数据库

发布时间 2024-01-13 19:44:57作者: 枫叶啊枫叶

1 redis 单机数据库结构

1 redis server/client 结构

 2 每个数据库都有一个包含所有数据的字典

 

2 过期时间

redis 每个库都会保存一个结构,里面包含了 每个键的过期时间的字典结构;

redis  如何判断过期,首先检查给的键是否在过期字典中, 如果在,那就获取过期时间,在检查当前Unix时间戳是否大于键的过期时间

 

3 过期键如何删除,有三种策略

   1 定时删除,设置键的过期时间同时,设置一个定时器,定时器在过期时执行删除键的删除操作

   2 惰性删除,在每次需要访问键的时候,检查键是否过期,过期了就删除

   3 定期删除,每隔一段时间,就对数据库进行异常检查,删除里面的过期键

  如何选择,需要评估,定时删除需要大量的cpu 资源, 惰性删除可能会导致大量的内存浪费。定期删除是一个折中方案,具体策略待后续实践更新。。。。。