美文网首页
Redis设计与实现 第九章读后总结

Redis设计与实现 第九章读后总结

作者: 盛世半月 | 来源:发表于2019-05-09 15:51 被阅读0次

总结:

1.Redis服务器的所有数据库都保存在redisServer.db数组中,而数据库的数量则由redisServer.dbnum属性保存;

2.客户端通过修改目标数据库指针,让它指向redisServer.db数组中的不同元素来切换不同的数据库;

3.数据库主要由dict和expires两个字典构成,其中dict字典负责保存键值对,而expires字典负责保存键的过期时间;

4.因为数据库由字典构成,所以对数据库的操作都是建立在字典操作之上的;

5.数据库的键总是一个字符串对象,而值则可以是任意一种Redis对象类型,包括字符串对象、哈希表对象、集合对象、列表对象和有序集合对象,分别对应字符串键、哈希表键、集合键、列表键和有序集合键;

6.expires字典的键指向数据库中的某个键,而值则记录了数据库键的过期时间,过期时间是一个以毫秒为单位的UNIX时间戳;

7.Redis使用惰性删除和定期删除两种策略来删除过期的键:惰性删除策略只在碰到过期键时才进行删除操作,定期删除策略则每隔一段时间主动查找并删除过期键;

8.执行SAVE命令或BGSAVE命令所产生的新RDB文件不会包含已经过期的键;

9.执行BGREWRITEAOF命令所产生的重写AOF文件不会包含已经过期的键;

10.当一个过期键被删除之后,服务器会追加一条DEL命令到现有AOF文件的末尾,显式地删除过期键;

11.当主服务器删除一个过期键后,它向所有从服务器发送一条DEL命令,显式地删除过期键;

12.从服务器即使发现过期键也不会自作主张地删除它,而是等待主节点发来DEL命令,这种统一、中心化的过期键删除策略可以保证主从服务器数据的一致性;

13.当Redis命令对数据库进行修改之后,服务器会根据配置向客户端发送数据库通知。

相关文章

网友评论

      本文标题:Redis设计与实现 第九章读后总结

      本文链接:https://www.haomeiwen.com/subject/ftgwoqtx.html