Redis数据持久化操作:
数据、持久化(数据在服务或者软件重启之后不丢失)。
如果数据只存储在内存中,肯定会丢失,实现持久化,就需要把数据存储在磁盘中(hdd ssd)。
memcached在宕机或者关机之后,数据就不存在了。
- [root@server08 bin]# killall redis-server
- [root@server08 bin]#
- [root@server08 bin]# ps aux |grep redis
- root 1467 0.0 0.0 112812 968 pts/0 S+ 11:27 0:00 grep --color=auto redis
killall命令是通过yum install -y psmisc命令安装得到的。 感觉有时间,还是需要再把yum这块内容再看下。
- [root@server08 bin]# ./redis-server ./redis.conf
- 1470:C 16 Sep 2023 11:31:43.997 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
- 1470:C 16 Sep 2023 11:31:43.997 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=1470, just started
- 1470:C 16 Sep 2023 11:31:43.997 # Configuration loaded
- [root@server08 bin]#
- [root@server08 bin]#
- [root@server08 bin]# ./redis-cli
- 127.0.0.1:6379>
- 127.0.0.1:6379> keys *
- 1) "devops"
- 127.0.0.1:6379>
把redis-server的服务进程杀掉之后,然后再打开,数据还是存在的。
那说明数据后来也是存到了磁盘中的。
使用cat dump.rdb 查看dump.rdb文件中的内容:
snappshoting(快照)
默认snappshoting是开启的,有一个备份的频率。
通过查看配置文件可以看到:
15分钟之内有1个key的改变。
5分钟之内有10个key的改变。
1分钟之内有10000个key的改变。
写和删除、修改都算是改变。读不是改变。
备份文件:
dump.rdb,这个是在这个备份目录。
这是一个频率的测试。
执行手动备份:
然后再检查dump.rdb文件的时间变化情况。
数据恢复,需要先停掉redis服务。
如果需要恢复数据,只需将备份文件(dump.rdb)移动到redis安装目录启动服务即可。
先对dump.rdb文件进行备份,放到/root/目录下面。
数据迁移和备份,就是通过这个方式。数据持久化。snappshoting。
恢复数据时,需要停掉redis服务。切记。