IT袋

当前位置:主页 > 经验教程 > 建站编程 >

redis的持久化方式有哪些

redis的持久化方式有哪些 Redis的数据持久化方式有哪些?

时间:2024-03-17 10:41:37 来源:IT袋 作者:马勇
导读:redis的持久化方式有哪些,本文为你介绍redis的持久化方式有哪些的电脑方面的小经验,接下来分享详细内容。 Redis的读写操作都是在内存中,所以Redis性能才会高,但是当Redis重启后,内存中的数据

redis的持久化方式有哪些

本文为你介绍redis的持久化方式有哪些的电脑方面的小经验,接下来分享详细内容。

Redis的读写操作都是在内存中,所以Redis性能才会高,但是当Redis重启后,内存中的数据就会丢失,那为了保证内存中的数据不会丢失,Redis实现了数据持久化的机制。

这个机制会把数据存储到磁盘,这样在Redis重启就能够从磁盘中恢复原有的数据。

Redis持久化的方式有两种:

  • AOF 日志:每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里;
  • RDB 快照:将某一时刻的内存数据,以二进制的方式写入磁盘;

AOF 日志是如何实现的?

Redis 在执行完一条写操作命令后,就会把该命令以追加的方式写入到一个文件里,然后 Redis 重启时,会读取该文件记录的命令,然后逐一执行命令的方式来进行数据恢复。

redis的持久化方式有哪些

Redis提供了 3 种写回硬盘的策略, 在Redis.conf配置文件中的appendfsync配置项可以有以下 3 种参数可填:

  • Always,这个单词的意思是「总是」,所以它的意思是每次写操作命令执行完后,同步将 AOF 日志数据写回硬盘;
  • Everysec,这个单词的意思是「每秒」,所以它的意思是每次写操作命令执行完后,先将命令写入到 AOF 文件的内核缓冲区,然后每隔一秒将缓冲区里的内容写回到硬盘;
  • No,意味着不由 Redis 控制写回硬盘的时机,转交给操作系统控制写回的时机,也就是每次写操作命令执行完后,先将命令写入到 AOF 文件的内核缓冲区,再由操作系统决定何时将缓冲区内容写回硬盘。

我也把这 3 个写回策略的优缺点总结成了一张表格:

redis的持久化方式有哪些

RDB 快照是如何实现的呢?

因为 AOF 日志记录的是操作命令,不是实际的数据,所以用 AOF 方法做故障恢复时,需要全量把日志都执行一遍,一旦 AOF 日志非常多,势必会造成 Redis 的恢复操作缓慢。

为了解决这个问题,Redis 增加了 RDB 快照。所谓的快照,就是记录某一个瞬间东西,比如当我们给风景拍照时,那一个瞬间的画面和信息就记录到了一张照片。

所以,RDB 快照就是记录某一个瞬间的内存数据,记录的是实际数据,而 AOF 文件记录的是命令操作的日志,而不是实际的数据。

因此在 Redis 恢复数据时, RDB 恢复数据的效率会比 AOF 高些,因为直接将 RDB 文件读入内存就可以,不需要像 AOF 那样还需要额外执行操作命令的步骤才能恢复数据。

相关阅读

  • MySQL彻底卸载指南:步骤详解与注意事项

    MySQL彻底卸载指南:步骤详解与注意事项

    正文核心介绍:MySQL彻底卸载指南IT技巧方面的经验,下面来一起了解一下吧。 MySQL是一款非常流行的开源数据库管理系统,广泛应用于各类应用程序的数据管理。 然而,有时候你可能需要从你

  • 忘记设备IP地址如何查找 寻找遗忘设备IP地址的方法

    忘记设备IP地址如何查找 寻找遗忘设备IP地址的方法

    对于许多网友来说忘记设备IP地址如何查找的方法内容,继续往下看吧! 前言: 拿到了设备但找不到设备IP地址的情况想必很多人都遇到过,又不想重置,怎么办嘞? 别急,可以通过机身标签

  • 什么是服务器机架单元U?

    什么是服务器机架单元U?

    今天为网友们详解什么是服务器机架单元U的电脑方面的小经验,接下来小编为网友介绍。 服务器机架单元U,通常简称为U,是一个用于测量服务器机架的总高度的标准单位。 这个标准的主要目

  • 网站界面设计分析 网站设计与规划分享

    网站界面设计分析 网站设计与规划分享

    今天带来的IT技巧小经验网站界面设计分析和网站设计与规划分享的相关经验,一起来了解了解吧。 要想留住客户,只是做好广告宣传是不够的,一个美观的网站也可也帮你留住顾客,因为人