redis的两种持久化方式
持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。
redis支持的持久化方式两种:
- RDB:通过快照完成的,当符合一定条件时redis会自动将内存中的数据进行快照,并存储硬盘上。进行快照的条件在配置文件中指定。主要有两个参数构成:时间和改动的键值的个数,即当在指定时间内被更改的键的个数大于执行数值时,就会进行快照。RDB是redis的默认持久化方式
- AOF:记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。AOF文件中的命令全部以redis协议的格式来保存,新命令会被追加到文件的末尾。AOF文件保存的数据集通常比RDB文件所保存的数据集更完整。
1.RDB快照持久方式
如何触发RDB持久化
1)手动save命令
2)手动bgsave命令
3)通过配置自动触发
1.1save和bgsave的区别
1)save
Redis Save 命令执行一个同步保存操作,将当前Redis实例的所有数据快照(snapshot)以RDB文件的形式保存到硬盘。
执行完成时候如果存在老的RDB文件,就把新的替代掉旧的。我们的客户端可能都是几万或者是几十万,这种方式显然不可取。
2)bgsave
执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
1.1.1 手动触发save步骤:
① cd到redis启动目录中 /usr/local/bin下
[root@localhost ~]# cd /usr/local/bin
# 启动redis服务
[root@localhost bin]# redis-server /export/install/redis-6.2.1/redis.conf
② 查看dump.rdb文件
[root@localhost ~]# ls /