【Redis】内存快照:宕机了,如何实现快速恢复
Redis提供了AOF日志,如果发生宕机,执行AOF日志,对所有写操作再执行一遍,可以实现数据恢复。
但是如果日志过大,执行太多命令对性能影响较大,结果不理想。还有没有更快的恢复方法呢?
Redis提供了AOF日志,如果发生宕机,执行AOF日志,对所有写操作再执行一遍,可以实现数据恢复。
但是如果日志过大,执行太多命令对性能影响较大,结果不理想。还有没有更快的恢复方法呢?
去年技术分享,分享了我对redis有序集合的理解,目录包括有序集合的用法、适用场景、底层原理。分享结束后同事们也进行了提问,收获颇多。
● 有序集合(sorted set)是排序的集合(set)。
● 集合是 string 类型元素的集合,且元素不允许重复。
● 有序集合每个元素会关联一个 double 类型的分值 score,通过 score 将集合成员从小到大排序。
Redis 使用 RESP(REdis Serialization Protocol)协议定义了客户端和服务器端交互的命令、数据的编码格式。在 Redis 2.0 版本中,RESP 协议正式成为客户端和服务器端的标准通信协议。从 Redis 2.0 到 Redis 5.0,RESP 协议都称为 RESP 2 协议,从 Redis 6.0 开始,Redis 就采用 RESP 3 协议了。不过,6.0 版本是在今年 5 月刚推出的,所以,目前我们广泛使用的还是 RESP 2 协议。
业务上用redis做缓存,mysql做数据存储,如何保证数据一致性呢?
当我们启动多个 Redis 实例的时候,它们相互之间就可以通过 replicaof(Redis 5.0 之前使用 slaveof)命令形成主库和从库的关系,之后会按照三个阶段完成数据的第一次同步。
例如,现在有实例 1(ip:172.16.19.3)和实例 2(ip:172.16.19.5),我们在实例 2 上执行以下这个命令后,实例 2 就变成了实例 1 的从库,并从实例 1 上复制数据:
replicaof 172.16.19.3 6379
接下来,我们就要学习主从库间数据第一次同步的三个阶段了。你可以先看一下下面这张图,有个整体感知,接下来我再具体介绍。
缓存穿透、缓存击穿、缓存雪崩