一、过程演示
登录redis,并写入测试数据
1
2
3
4
5
6
7
8
9
10
11
|
redis-cli -h 172.16.254.124 -p 6379 -a redis
172.16.254.124:6379>
set
handong dongge
OK
172.16.254.124:6379>
set
city1 beijing1
OK
172.16.254.124:6379>
set
city2 beijing2
OK
172.16.254.124:6379>
set
city3 beijing3
OK
172.16.254.124:6379>
set
city4 beijing4
OK
|
查看测试数据
1
2
3
4
5
6
|
172.16.254.124:6379> keys *
1)
"city3"
2)
"city4"
3)
"handong"
4)
"city2"
5)
"city1"
|
编辑配置文件redis.conf,开启AOF,并重启redis
查看所有key
1
2
|
172.16.254.124:6379> keys *
(empty list or
set
)
|
发现先前写入的测试数据都丢失了。
这是由于启用AOF之后,重启Redis,默认就会从aof恢复数据,就会忽略dump.rdb中的数据,就会造成重启之前数据的丢失
。
那如何避免开启AOF之后数据丢失呢?
写入测试数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
172.16.254.124:6379>
set
city1 beijing1
OK
172.16.254.124:6379>
set
city2 beijing2
OK
172.16.254.124:6379>
set
city3 beijing3
OK
172.16.254.124:6379>
set
city4 beijing4
OK
172.16.254.124:6379> keys *
1)
"city2"
2)
"city4"
3)
"city3"
4)
"city1"
|
在redis-cli执行bgrewriteaof
1
2
|
172.16.254.124:6379> bgrewriteaof
Background append only
file
rewriting started
|
编辑配置文件redis.conf,开启AOF,并重启redis
查看数据
1
2
3
4
5
|
172.16.254.124:6379> keys *
1)
"city1"
2)
"city2"
3)
"city4"
4)
"city3"
|