中英文网站英文,响应式网站模板下载免费,网站建设中最重要的环节,中核五公司是国企还是央企4 Redis持久化
Redis 是一个内存数据库#xff0c;然而内存中的数据是不持久的#xff0c;若主机宕机或 Redis 关机重启#xff0c;则内存中的数据全部丢失。
当然#xff0c;这是不允许的。Redis 具有持久化功能#xff0c;其会按照设置以快照或操作日志的形式将数据持…4 Redis持久化
Redis 是一个内存数据库然而内存中的数据是不持久的若主机宕机或 Redis 关机重启则内存中的数据全部丢失。
当然这是不允许的。Redis 具有持久化功能其会按照设置以快照或操作日志的形式将数据持久化到磁盘。
4.1 持久化基本原理 Redis 持久化也称为钝化是指将内存中数据库的状态描述信息保存到磁盘中。 只不过是不同的持久化技术对数据的状态描述信息是不同的生成的持久化文件也是不同的。但它们的作用都是相同的避免数据意外丢失。
通过手动方式或自动定时方式或自动条件触发方式将内存中数据库的状态描述信息写入到指定的持久化文件中。当系统重新启动时自动加载持久化文件并根据文件中数据库状态描述信息将数据恢复到内存中这个数据恢复过程也称为激活。
这个钝化与激活的过程就是 Redis 持久化的基本原理。
不过从以上分析可知对于 Redis 单机状态下无论是手动方式还是定时方式或条件触发方式都存在数据丢失问题在尚未手动/自动保存时发生了 Redis 宕机状况那么从上次保存到宕机期间产生的数据就会丢失。不同的持久化方式其数据的丢失率也是不同的。
4.2 Redis默认RDB持久化
Redis默认使用RDB方式进行持久化, 即若不进行任何配置, 那么每次开机系统会自动加载Redis安装目录下的dump.rdb文件, 复原数据库到上一个记录点
同时 , 尽管RDB为Redis的默认持久化方式但 Redis 允许 RDB 与 AOF 两种持久化技术同时开启此时系统会优先使用 AOF 方式做持久化即加载AOF持久化文件进行数据库复原. 4.3 RDB 持久化
RDB(Redis DataBase)是指将内存中某一时刻的数据快照全量写入到指定的 rdb 文件的持久化技术。 RDB 持久化默认是开启的。当 Redis 启动时会自动读取 RDB 快照文件将数据从硬盘载入到内存以恢复 Redis 关机前的数据库状态。
4.3.1 RDB持久化的执行
RDB 持久化的执行有三种方式手动 SAVE 命令、手动 BGSAVE 命令与自动条件触发。
4.3.1.1 手动SAVE命令
通过在 redis-cli 客户端中执行 SAVE 命令可立即进行一次持久化保存。
SAVE 命令在执行期间会阻塞 redis-server 进程直至持久化过程完毕。即在执行SAVE命令的过程中 , Redis不能处理任何读写请求无法对外提供服务。
4.3.1.2 手动BGSAVE命令
4.3.1.3 自动条件触发
4.3.1.4 查看持久化时间
4.3.2 RDB优化配置
4.3.3 RDB文件结构
4.3.4 RDB持久化过程
4.4 AOF持久化
4.4.1 AOF基础配置