两种区别?
一个是基于二进制。
一个是基于原始命令。
本质
redis的流程是:命令——》解析命令——》执行命令。
所以,根据区别,可以看到,是在流程的不同阶段进行了持久化。在前面的自然慢一点,在后面的自然要快一点。因为前面的需要解析。后面的不需要解析,直接写数据,前面的是需要解析 + 写数据。
基于二进制
优缺点
1.优点 //恢复速度快,因为二进制。具体指的是,断电了,重启,恢复速度慢。
2.缺点 //丢失数据多。具体指的是,断电了,丢失数据多。为什么?因为二进制是定时批量写命令数据。所以,丢失数据多。
基于原始命令
优缺点
1.优点 //丢失数据少。因为是单个命令单个命令的写,而不是定时一次性批量写多个命令。
2.缺点 //恢复速度慢。
最佳实践
新版4.0
最佳实践是混合。新版支持混合。为什么要混合?之所以新版弄这个新的功能,即混合。就是为了混合二者的优点。
1.二进制恢复速度快
2.原始命令丢失数据少
旧版
最佳实践,原始命令 //因为丢失数据少,比恢复速度更重要。
参考
黄建宏的新书

参考
黄建宏的两本书