Redis 缓存持久化基本原理

网友投稿 345 2022-08-25

Redis 缓存持久化基本原理

Redis RDB

RDB(Redis DataBase)持久化方案会在指定的时间点内将内存的数据集快照存入磁盘.当RDB开始工作时,Redis 服务会将自己分叉出一个持久化进程,持久化进程会将内存压缩并写入到磁盘里.

重要的一点就是,持久化进程和原服务进程共用的同一批虚拟内存页.

当有新的缓存Set操作,那么原服务中部分内存需要进行修改,这时候持久化服务进程没有到达指定的时间点不会进行缓存快照的更新.那么操作系统会将虚拟内存页进行一个写时复制,这样原服务进程数据就被更新而持久化服务进程的数据保持不变.

Redis RDB 优点

RDB 的优点在于它的数据文件中包含了一系列经过压缩的 Redis 数据时间点快照,适合备份和灾后恢复.

Redis RDB 缺点 RDB 的缺点在于系统死机时 RDB 写入磁盘的是上一个时间点的快照.导致上一个时间点到死机时的数据丢失.由于时间间隔大,所以数据的损失量也可能很大.

Redis AOF

Redis AOF方案则是将服务端接收到的所有写操作(包括Set和Del)记入磁盘上的日志文件,该文件的格式和 Redis 协议保持一致,并且只允许添加.这样服务器重启的时候Redis存放的内容可以根据 Redis 重新构建整个内存映像.

Redis AOF 优点 Redis AOF 的优点就是当系统出现死机时因为日志写入的频率较高所以有较少的数据丢失.

Redis AOF 缺点 因为 AOF 会保存初始状态到最终状态的所有内容,所以它会占用更多的磁盘空间.其次 AOF 的写入频率高,磁盘的IO占用时间长导致AOF会慢于RDB.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springmvc+bootstrap +java jxl批量导入(excel)数据库-文件上传下载
下一篇:兴起不过几载,国潮营销就要被弃之不用了吗?(对于国潮来袭的看法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~