redis 浅谈3

发布时间 2024-01-13 14:21:13作者: 枫叶啊枫叶

1 redis数据结构简介

sds 链表 字典 跳跃表 整数集合  压缩列表

 

2 过期时间

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

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

 

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

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

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

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

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

 

4 redis是如何方位 一个map 对象的

    个人理解:首先redis 中保存的数据都是 key-value  键值对,通过key 找到 对应的map 对象,这个需要查找字典 ,找到 值为  map 的对象;

     map对象保存在redis的结构为字典