redis的持久化RDB、fork、copyonwrite、AOF、混合使用

缓存:数据可以丢 急速

数据库:数据绝对不能丢

适应linux时父子进程

父进程的数据子进程可不可以看到

常规思想 进程是数据隔离的

进阶思想 父进程可以让子进程看到数据

linux中  export的环境变量,子进程的修改不会破坏父进程,子进程的修改也不会破坏父进程

创建子进程的速度应该是什么程度

如果父进程是redis,内存数据比如10g

1.创建进程的速度

2.内存空间够不够

Fork() 速度快 空间小

copy on write(写时复制)

创建子进程不发生复制

创建进程变快了,根据经验,不可能子进程把左右数据都改一遍

RDB

8点创建子进程

(子进程拿到8点是数据的指针,父进程8点后对数据的修改看不到)

save 阻塞储存(如关机维护时使用)

bgsave fork()创建子进程 异步储存

配置文件中给出bgsave的规则

#   save ""

save 900 1

save 300 10

save 60 10000

# 文件名及存储位置

dbfilename dump.rdb

dir /var/lib/redis/6379

弊端

1.不支持拉链 只有一个dump.rdb

减少操作复杂度 节约内存资源

2.丢失的数据相对多一些

时点和时点之间窗口数据容易丢失

全量持久化备份 通病

优点

类似java中的序列化,恢复速度相对快

AOFApend Only File

redis 的写操作记录到文件中

丢失数据相对少

resis中RBD和AOF可以同时开启,如果开启了AOF,恢复时只会用AOF

4.0以后  AOF中包含RDB全量,增加记录新的写操作

弊端:体量无限变大》恢复慢

解决:设计一个方案 让日志,AOF足够小

appendonly yes

appendfilename "appendonly.aof"

# appendfsync always

appendfsync everysec

# appendfsync no

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值