重读了一遍redis设计与实现,这次收获也不错,把之前还有些疑惑的点:redis跳跃表的原理、redis持久化的方法、redis复制、redis sentinel、redis集群等,都重新熟悉了一遍,多了一些理解,其实技术书就是这样,一定是需要读几遍才能彻底吃透的。
简单总结一下:
跳跃表:其实是空间换时间的做法,通过增加多余的节点提高查找的速度,同时保留了链表的插入、删除的高效率的特点。
redis持久化分为两种:rdb、aof,以aof为先,rdb就是直接把数据库的内容dump一份到磁盘上的文件中,aof是将redis收到的写操作命令记录到文件中。
redis sentinel:通过一个命令连接和订阅连接来判断监控redis的信息以及在故障发生时执行故障切换。
redis集群:redis的集群是通过将固定的16384个槽位分布到集群节点上实现扩容的,但是个人感觉这种无中心节点的架构反而更复杂,不太实用。