结构:
实际上键值数据是字典结构,这里使用hashmap表示
键空间的操作
字典的基本操作,增删改查
更新命中率
更新lru
删除过期键
事务中对键的修改设置为脏
expires保存了键的过期时间,可以使用命令来设置该四件
有三种方式:
定时删除, 在设置的时候创建定时任务,到时执行删除
内存友好,费cpu
惰性删除,过期不管,下次访问时删除且返回空
cpu友好,费内存
定期删除,使用定期任务,来检查是否过期。 折中
redis使用了后两者相配合。
过期键不写入rdb
过期键删除点(惰性或者定期)会写aof
复制, 主节点会同步删除,从属节点返回已经过期但是不删除