redis的持久化和过期策略
时间: 2023-09-12 12:11:13 浏览: 113
Redis提供了两种持久化方式:RDB(Redis Database)和AOF(Append-Only File)。
RDB持久化是将内存中的数据以快照的形式保存到硬盘上的二进制文件中。可以通过配置文件中的save指令来设置触发RDB持久化的条件,例如在指定的时间间隔内有指定数量的写操作。RDB持久化适合用于备份、灾难恢复和数据迁移等场景。
AOF持久化则是将所有的写操作追加到一个文件中,以日志的形式记录下来。AOF文件中包含了重建数据集所需的所有操作,因此可以通过重新执行这些写操作来恢复数据集。AOF持久化提供了更好的持久化保证,但相对而言也会有一些性能损耗。
对于过期策略,Redis提供了两种:定时删除和惰性删除。
定时删除是指在设置键的过期时间时,同时创建一个定时器,当键过期时,由定时器负责删除过期键。这种方式保证了过期键能够及时被删除,但会对CPU资源产生一定的压力。
惰性删除是指在访问键时,先检查键是否过期,如果过期则删除。这种方式不会对CPU资源产生额外的压力,但可能会导致过期键在一段时间内未被删除。
Redis根据过期策略的不同,提供了多种数据结构来支持过期键的实现,例如字典、跳跃表和惰性删除等。
阅读全文