千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > redis怎么持久化配置:redis持久化配置关闭

redis怎么持久化配置:redis持久化配置关闭

来源:千锋教育
发布人:xqq
时间: 2023-07-23 06:54:28 1690066468

Redis是一个常用的键值存储缓存系统,在高并发的场景中可以发挥巨大的作用。然而,因为Redis是内存数据库,所以一旦服务器断电或者重启,Redis中的所有数据都将被清空,这对于生产环境来说是不能够接受的。为了解决这个问题,Redis提供了持久化功能,可以将内存中的数据保存到磁盘中,以便在服务器重启后重新加载。Redis 的持久化有两种方式:RDB(Redis DataBase)和 AOF(Append Only File)。

2. RDB持久化配置

RDB 是 Redis 内置的一种数据持久化方式,它可以将 Redis 在内存中的数据以快照的方式定期写入磁盘。Redis 提供了两种触发 RDB 持久化的方式:自动触发和手动触发。

2.1 自动触发 RDB 持久化

Redis 可以通过配置文件 redis.conf 来自动触发 RDB 持久化。找到下面两行配置:

save 900 1save 300 10 

Redis 会在满足以下条件之一时自动执行 RDB 持久化:

当前 Redis 数据库中有至少一个键被修改过(比如添加个键值对、删除一项键值对等)。

进程过期,触发信号处理程序(exec 循环中触发定时器或者通过其他方法),Redis 将会执行 BGSAVE 命令生成 RDB 文件并保存到磁盘。

其中每一行的配置都是保存时间和修改次数的两个参数。第一行的配置为“900 1”,表示如果在 900 秒内,有超过 1 个键被修改,那么 Redis 就会触发一次保存操作。第二行配置的含义是如果在 300 秒内,有超过 10 个键被修改,那么 Redis 就会触发一次保存操作。

2.2 手动触发 RDB 持久化

除了自动触发 RDB 持久化之外,Redis 还支持手动触发 RDB 持久化操作。可以通过命令 SAVE 或 BGSAVE 手动触发 RDB 持久化操作。其中 SAVE 命令会阻塞 Redis 的主线程运行,直到所有数据都写入到磁盘中之后,主线程才会暂停,直到保存工作完成为止。而 BGSAVE 命令则不会阻塞 Redis 主线程的正常运行,需要特别注意的是,BGSAVE 命令并不会阻塞主线程,主线程不会暂停。因此,需要使用 monitor 命令观察异步 RDB 文件生成进度。

3. AOF 持久化配置

AOF(Append Only File)是 Redis 提供的一种更为持久化的方式。在 AOF 持久化模式下,Redis 不再将所有修改操作保存到内存中,而是将所有写命令追加到一个日志文件中。这个日志文件保存在 Redis 的数据目录中,以 AOF 文件的形式存在。AOF 文件采用简单的文本格式,可以在需要的时候随时使用外部工具打开,复查操作。

Redis 提供了三种 AOF 持久化方式:always,everysec和no。其中 always 是完全持久化策略,每一个写入命令都会同步到磁盘上;everysec 策略则表示写入命令会每秒钟进行一次同步,而 no 模式则表示不采用 AOF 持久化。

为了开启 AOF 模式,首先需要修改 Redis 配置文件 redis.conf,找到以下两个参数:

appendonly noappendfilename "appendonly.aof" 

开启 AOF 模式后,Redis 将会在重新启动之后自动重新载入 AOF 文件中保存的数据,并开始将写命令追加到 AOF 文件上。如果 AOF 文件太大,可以使用 BGREWRITEAOF 命令进行重写。

以上就是 Redis 持久化的配置方法,RDB 持久化可以通过自动触发或手动触发的方式,而 AOF 持久化则可以通过修改 Redis 配置文件实现。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区