1 redis 单机数据库结构
1 redis server/client 结构
2 每个数据库都有一个包含所有数据的字典
2 过期时间
redis 每个库都会保存一个结构,里面包含了 每个键的过期时间的字典结构;
redis 如何判断过期,首先检查给的键是否在过期字典中, 如果在,那就获取过期时间,在检查当前Unix时间戳是否大于键的过期时间
3 过期键如何删除,有三种策略
1 定时删除,设置键的过期时间同时,设置一个定时器,定时器在过期时执行删除键的删除操作
2 惰性删除,在每次需要访问键的时候,检查键是否过期,过期了就删除
3 定期删除,每隔一段时间,就对数据库进行异常检查,删除里面的过期键
如何选择,需要评估,定时删除需要大量的cpu 资源, 惰性删除可能会导致大量的内存浪费。定期删除是一个折中方案,具体策略待后续实践更新。。。。。
标签:删除,过期,数据库,redis,时间,字典 From: https://www.cnblogs.com/jiangvtn/p/17962820