Redis是如何进行持久化的

众所周知,Redis会进行持久化。为什么呢?

首先, redis本身是可能宕机的,也会出现服务器突然断电、断网等情况,导致redis不可用,因为redis中存储的数据是保存在内存中的,当服务器宕机、断电重启后,内存中的数据会消失,那后续如何恢复呢?这就需要redis将持久化到磁盘上的数据加载到内存中,保证数据的一致性。

另外,当下一台redis的性能是有极限的。Redis 的读取速度是 110000 次/s,写入速度是 81000 次/s,这个性能是远远不能满足当下服务响应要求的,Redis成为了性能瓶颈。所以我们需要进行分片,将数据分散到不同的Redis机器上。以上和持久化无关。但每个Redis服务管理一部分数据,当这台机器宕机时,我们会丢失一部分数据的!所以我们还会将Redis做主从结构,当主节点宕机时,切换为从节点。这种情况下就要求主从的数据要保持一致,以保证从节点顶上后,数据依然存在,可用。所以主从节点间涉及到同步数据问题,他么之间同步数据也是通过持久化机制的数据文件进行同步的。主节点会将持久化文件发送给从节点,详细的同步细节,下文介绍。

Redis进行持久化提供了两种方式,分别为AOF和RDB。两者之间存在很大不同,适用于不同场景,提供了多个参数进行配置。

1.aof

2.rdb

你可能感兴趣的:(redis,数据库,缓存)