1、redis.h / redisDB 构造?
2、通过 redisClient 实现 DB 切换,通过每次都 select db 防止误操作
3、键空间操作实现 redisDB 操作。(SET、DEL、GET 等罕用)(FLUSHDB、RANDOMKEY、KEYS、DBSIZE、EXISTS 等不罕用)
4、键空间保护:
(1)hits 命中次数、miss 未命中次数。
(2)LRU 最初一次应用工夫
4.1 问题:redis 在读取一个 key 并发现其已过期,会先删除这个 key。删除过期 key 的形式之一?还有?答:定时删除、定期删除、惰性删除即上述拜访才会删除的策略
4.2 问题:key 被更新后会按设置发送告诉。可用性?业务场景?
5、过期工夫 EXPIRE/PEXPIRE(秒 / 毫秒)、EXPIREAT/PEXPIREAT(工夫戳 / 毫秒工夫错)。保留在过期字典中(相似键空间保留了所有键值对)
5.1 问题:永恒无效的键值对有过期字典吗? 没有
6、PERSIST:移除过期工夫,TTL、PTTL:计算残余生存工夫
7、RDB 长久化是指在指定的工夫距离内将内存中的数据集快照写入磁盘,实际操作过程是 fork 一个子过程,先将数据集写入临时文件,写入胜利后,再替换之前的文件,用二进制压缩存储。
比照:AOF 长久化以日志的模式记录服务器所解决的每一个写、删除操作,查问操作不会记录,以文本的形式记录,能够关上文件看到具体的操作记录。抉择:RDB 罕用
8、数据库告诉:
键空间告诉(某个 key 执行了什么命令)键事件告诉(某个命令被什么 key 执行了)。问题:什么是告诉函数?后续章节有介绍,再补充