禁用 Redis 持久性是否会提高性能?

Pau*_*aul 1 redis

我正在考虑使用 Redis 作为一些高度瞬态数据的存储(我们说它在被驱逐之前一次可能会存在 30 秒)。我知道,当启用持久性时,Redis 会经常生成一个工作程序来持久保存到磁盘。如果我禁用持久性机制,这会给系统的其余部分带来什么样的性能优势。

另外,有人看到这有什么缺点吗——因为如果数据丢失,恢复它是毫无意义的,因为它可能已经过期了?

Ser*_*sev 6

如果您的数据的生命周期那么短,您可能不想保留它们。禁用持久性后,您不会从 Redis 获得 I/O 负载,也不会在保存期间出现内存峰值。当redis想要转储数据时,它会自动分叉并继续工作。但如果写入负载很重,则必须在转储正在进行时复制修改后的密钥。这就是所谓的写时复制机制。

当您不需要持久化数据时,不持久化绝对是有意义的。