redis 之持久化

我感觉redis这个缓存真的太好用了,所以很感兴趣,特来研究一番

首先说一下redis 的持久化技术

什么叫持久化呢?

例如事务的持久性一样,就是把数据永久保存起来,内存是不能存东西的,因为一断电,缓存就会清除,但是他可以提高读写效率,所以我们要保证数据的能永久的存在我们会放到磁盘中。这就是所谓的持久化

那redis 的持久化有几种呢 

1、RDB

原理就是,redis服务器每个时间间隔会将一个内存数据集,生成一个快照(也就是一个备份文件替换原来的备份文件)保存在磁盘中,每当重启redis时,都会获取这个备份文件,读到内存中, 实现就是,redis会创建一个fork 子进程去做这个生成快照的事情,压缩成2进制文件,并持久化到磁盘。

缺点:就是生成快照之后如果这持久化到磁盘的过程中宕机了,就会导致数据丢失、因为是使用一个子进程去做,所有数据量大的话 就给服务器很大的压力

优点:效率高,备份文件就一个,便于查找

2、AOF

原理就是以日志的方式记录增删改的命令,并追加到文件后面,文件是以文本的形式,所以可以打开查看命令,因为是每增加一个命令,都会记录,并保持在磁盘中,所以可以实时增量同步到磁盘中,文件的存储结构是RESP通讯协议

RESP 是redis客户端和服务端之前使用的一种通讯协议;

RESP 的特点:实现简单、快速解析、可读性好

想要体面生活,又觉得打拼辛苦;想要健康身体,又无法坚持运动。人最失败的,莫过于对自己不负责任,连答应自己的事都办不到,又何必抱怨这个世界都和你作对?人生的道理很简单,你想要什么,就去付出足够的努力。
原文地址:https://www.cnblogs.com/potentPrince/p/12597437.html