千家信息网

redis学习8---持久化相关测试AOF方式

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,1、shutdown服务或者杀掉进程测试数据是否丢失关闭RDB持久化,启动AOF持久化,重启redis服务。设置值127.0.0.1:6379> mset k1 v1 k2 v2OK127.0.0.1
千家信息网最后更新 2026年10月31日redis学习8---持久化相关测试AOF方式

1、shutdown服务或者杀掉进程测试数据是否丢失


关闭RDB持久化,启动AOF持久化,重启redis服务。


设置值

127.0.0.1:6379> mset k1 v1 k2 v2

OK

127.0.0.1:6379> keys *

1) "k2"

2) "k1"

127.0.0.1:6379> get k1

"v1"

127.0.0.1:6379> get k2

"v2"


shutdown服务

127.0.0.1:6379> shutdown


启动redis服务


查看数据还在

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k2"

2) "k1"


杀掉redis进程,启动redis服务


查看值还在

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k2"

2) "k1"


2、测试服务异常导致appendonly.aof 文件乱码

AOF持久化是把操作都写进了文件appendonly.aof


查看文件

cat appendonly.aof

*2

$6

SELECT

$1

0

*5

$4

mset

$2

k1

$2

v1

$2

k2

$2

v2


编辑文件,填写内容代替文件错乱

vi appendonly.aof

sfsbdd

1213fns

*2

$6

SELECT

$1

0

*5

$4

mset

$2

k1

$2

v1

$2

k2

$2

v2

dshfs

sdfksh5&


khdfjsj%$$


oguduog7&*


重启redis服务,访问redis发现失败

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

Could not connect to Redis at 127.0.0.1:6379: Connection refused

Could not connect to Redis at 127.0.0.1:6379: Connection refused


使用fix命令修复文件

[root@master1 data]# redis-check-aof --fix appendonly.aof

0x 45: Expected prefix '*', got: 'd'

AOF analyzed: size=114, ok_up_to=69, diff=45

This will shrink the AOF from 114 bytes, with 45 bytes, to 69 bytes

Continue? [y/N]: y

Successfully truncated AOF


查看文件发现已经修复

cat appendonly.aof

*2

$6

SELECT

$1

0

*5

$4

mset

$2

k1

$2

v1

$2

k2

$2

v2


启动redis服务,访问redis查看数据没有问题

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k1"

2) "k2"

127.0.0.1:6379> del k1

(integer) 1

127.0.0.1:6379> del k2

(integer) 1

127.0.0.1:6379> mset k5 v5 k6 v6

OK

127.0.0.1:6379> keys *

1) "k5"

2) "k6"


编辑redis.conf,打开RDB持久化


重启redis服务,访问redis,发现数据还是只有AOF持久化的数据,并没有之前RDB持久化的数据,正好证明了同时打开两种持久化配置的情况下会首先使用AOF持久化的数据。

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k6"

2) "k5"


3、删除所有数据,利用AOF的特点进行修复


删除数据,停止服务

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> shutdown


编辑文件

vi data/appendonly.aof


*2

$6

SELECT

$1

0

*5

$4

mset

$2

k1

$2

v1

$2

k2

$2

v2

*2

$6

SELECT


......


SELECT

$1

0

*1

$8

flushall


删除最后一行 flushall


启动redis服务


发现数据恢复

redis-cli -a Redis2019!

Warning: Using a password with '-a' option on the command line interface may not be safe.

127.0.0.1:6379> keys *

1) "k6"

2) "k5"


参考:

https://blog.csdn.net/qq_33101675/article/details/80631992


服务 数据 文件 测试 进程 错乱 一行 乱码 内容 只有 同时 命令 情况 数据恢复 特点 还是 问题 参考 配置 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 华服互联网科技靠谱吗 博彦科技互联网金融 互联网金融科技创新 南京欣网互联网科技 互联网科技的未来发展 互联网科技论坛 一五八零互联网科技 衡水科技产业互联网平台 新华互联网科技2019 晓花互联网科技有限公司网址 速维有品互联网信息科技(苏州)有限公司 乌苏新华互联网科技做什么的 互联网公司黑科技创始人 梅州GM互联网络科技有限公司 下一代互联网重大应用科技园 万物互联网智能科技 互联网科技对化妆品行业 保山浩联互联网科技有限公司 东风日产互联网科技公司叫什么 今日互联网科技 易通互联网络科技有限公司 互联网科技股有哪些 卓越科技互联网 招聘 互联网科技素材视频竖屏 世界互联网科技公司市值排名 黑科技闪耀互联网之光 皮皮虾互联网科技有限公司 科技信息时代互联网发展 六子台科技互联网展会
0