说明:Redis数据是保存在内存中的,重启计算机数据就会丢失。Redis数据持久化表示把内存中的数据保存到磁盘,重启时再次加载数据以保证数据不丢失。两种解决方案:RDB :持久化可以在指定的时间间隔内生成数据集的时...
说明:Redis数据是保存在内存中的,重启计算机数据就会丢失。Redis数据持久化表示把内存中的数据保存到磁盘,重启时再次加载数据以保证数据不丢失。
两种解决方案:
RDB :持久化可以在指定的时间间隔内生成数据集的时间点快照。 AOF :持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。Redis还可以同时使用 AOF 持久化和 RDB 持久化。在这种情况下,当Redis重启时,它会优先使用 AOF 文件来还原数据集,因为 AOF 文件保存的数据集通常比 RDB 文件所保存的数据集更完整。 你甚至可以关闭持久化功能,让数据只在服务器运行时存在。? 如何选择: 一般来说, 如果想达到足以媲美 PostgreSQL 的数据安全性, 你应该同时使用两种持久化功能。 如果你非常关心你的数据, 但仍然可以承受数分钟以内的数据丢失, 那么你可以只使用 RDB 持久化。 有很多用户都只使用 AOF 持久化, 但我们并不推荐这种方式: 因为定时生成 RDB 快照(snapshot)非常便于进行数据库备份, 并且 RDB 恢复数据集的速度也要比 AOF 恢复的速度要快, 除此之外, 使用 RDB 还可以避免 AOF 程序的 bug。 ? 具体操作: 打开redis目录下的conf文件。 RDB 快照配置(默认开启):
save 9001 //900 秒内有至少有 1 个键被改动就触发保存 save 30010 //300 秒内有至少有 10 个键被改动就触发保存 save 6010000 //60 秒内有至少有 1000 个键被改动就触发保存 dbfilename "dump.rdb" //持久化文件名称 dir "/data/dbs/redis/6381" //持久化数据文件存放的路径? AOF(默认关闭):
dir "/data/dbs/redis/6381"#AOF文件存放目录 appendonly no #AOF持久化,默认关闭开启填写yes appendfilename "appendonly.aof"#AOF文件名称(默认) # appendfsync always #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用 appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐(默认) # appendfsync no #完全依赖os,性能最好,持久化没保证 auto-aof-rewrite-percentage 100#触发AOF文件重写的条件(默认) auto-aof-rewrite-min-size 64mb#触发AOF文件重写的条件(默认)
? ? ? ? ?
沃梦达教程
本文标题为:【Redis】数据持久化
猜你喜欢
- 基于Python制作一个简单的文章搜索工具 2023-07-28
- SQLSERVER调用C#的代码实现 2023-07-29
- redis清除数据 2023-09-13
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- 搭建单机Redis缓存服务的实现 2023-07-13
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- Oracle 删除大量表记录操作分析总结 2023-07-23