大致了解Redis

        为了保证数据的可靠性,Redis 需要在磁盘上读写 AOF 和 RDB,但在高并发场景里,这就会直接带来两个新问题:一个是写 AOF 和RDB 会造成 Redis 性能抖动,另一个是 Redis 集群数据同步和实例恢复时,读 RDB 比较慢,限制了同步和恢复速度。

        这里简单说一下 AOF 和 RDB

        AOF(Append-only File)和 RDB(Redis Database Dump)是 Redis 支持的两种持久化机制,它们各自有优缺点,适用于不同的场景。

        AOF 是一种只写日志的持久化方式,它将 Redis 执行的写操作记录在一个文件中,而不会记录读操作。AOF 的优点是在 Redis 宕机时,可以保证数据的安全性,因为 AOF 文件是只写日志,即使在写入过程中出现宕机,也不会破坏已经存在的内容。此外,AOF 可以在 Redis 重启时快速恢复数据,因为它只需要重放日志中的写操作即可。

        RDB 是将 Redis 当前数据的快照保存在一个二进制文件中的持久化方式。RDB 的优点是快照文件可以方便地进行备份和迁移,因为整个 Redis 数据库只包含一个文件。此外,RDB 可以最大化 Redis 的性能,因为父进程只需要 fork 一个子进程来处理快照的保存工作,不需要执行任何磁盘 I/O 操作。

        在选择使用 AOF 还是 RDB 时,需要根据具体的应用场景和数据安全性要求进行权衡。如果对数据安全性要求较高,通常会选择 AOF,因为它可以在 Redis 宕机时保证数据的完整性。如果需要方便地进行备份和迁移,或者需要最大化 Redis 的性能,可以选择 RDB。在实际开发中,往往需要根据具体情况结合使用 AOF 和 RDB 来满足需求。

Dump

大致了解Redis_第1张图片

 

解决文章开头提到的持久化的问题

一个可行的解决方案就是使用非易失内存 NVM,因为它既能保证高速的读写,又能快速持久化数据

零散的知识点

对于单线程的 Redis 而言,任何阻塞性操作都会导致长尾延迟的产生

Redis知识全景图

所谓的 Redis 知识全景图都包括什么呢?简单来说,就是“两大维度,三大主
线”

大致了解Redis_第2张图片

 大致了解Redis_第3张图片

 

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