Redis之-aof恢复

aof恢复简讲过程:redis

[root@ZFRC-YW-YJF-TEST-370123 redis]# pkill -9 redis
[root@ZFRC-YW-YJF-TEST-370123 ~]# cd /var/dir
[root@ZFRC-YW-YJF-TEST-370123 ~]# rm -rf *
清除掉现有环境备份文件;而后启动服务器进程,添加新数据vim

[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis6380.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis6381.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set site www.baidu.com
OK
127.0.0.1:6379> set name yjf
OK
127.0.0.1:6379> set addr bj
OK
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> get name
(nil)服务器

此时必定要先中止服务,避免其余人有写入操做,重写aof。何况aof记录着也有flushall操做。
[root@ZFRC-YW-YJF-TEST-370123 dir]# more laoyang-appendonly.aof
2
$6
SELECT
$1
0
3
$3
set
$4
site
$13
www.baidu.com
3
$3
set
$4
name
$3
yjf
3
$3
set
$4
addr
$2
bj
*1
$8
flushallapp

127.0.0.1:6379> shutdown nosave ---shutdown 操做不记录日志
not connected> ide

而后编辑一下aof生成文件。将最后危险操做flushall给dd掉。--注意记录的格式,通常是*开始,命令结尾;日志

[root@ZFRC-YW-YJF-TEST-370123 dir]# vim laoyang-appendonly.aof
删除下面三行,保存退出
*1
$8
flushallserver

而后重启一下服务,登录查询,若是么有,退出后,再次登录查询
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-server ./redis.conf
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-cli
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> exit
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-cli
127.0.0.1:6379> get name
yjf进程

检查rdb文件
[root@ZFRC-YW-YJF-TEST-370123 redis]# ./bin/redis-check-rdb /var/dir/dump6380.rdb
[offset 0] Checking RDB file /var/dir/dump6380.rdb
[offset 27] AUX FIELD redis-ver = '3.2.13'
[offset 41] AUX FIELD redis-bits = '64'
[offset 53] AUX FIELD ctime = '1561537890'
[offset 68] AUX FIELD used-mem = '880976'
[offset 77] Checksum OK
[offset 77] \o/ RDB looks OK! \o/
[info] 0 keys read
[info] 0 expires
[info] 0 already expiredget

相关文章
相关标签/搜索