【发布时间】:2012-06-26 14:39:53
【问题描述】:
我正在考虑使用 Redis 作为存储一些高度瞬态数据的存储(我们说它在被驱逐之前一次可能会存在 30 秒)。我知道当启用持久性时,Redis 每隔一段时间就会产生一个工作人员来持久化到磁盘。如果我禁用持久性机制,会给系统的其余部分带来什么样的性能优势。
另外,有没有人认为这有什么缺点——因为如果数据丢失了,那么恢复它是毫无意义的,因为它可能已经过期了?
【问题讨论】:
标签: redis
我正在考虑使用 Redis 作为存储一些高度瞬态数据的存储(我们说它在被驱逐之前一次可能会存在 30 秒)。我知道当启用持久性时,Redis 每隔一段时间就会产生一个工作人员来持久化到磁盘。如果我禁用持久性机制,会给系统的其余部分带来什么样的性能优势。
另外,有没有人认为这有什么缺点——因为如果数据丢失了,那么恢复它是毫无意义的,因为它可能已经过期了?
【问题讨论】:
标签: redis
如果您的数据生命周期那么短,您可能不想保留它们。禁用持久性后,您不会从 redis 获得 I/O 负载,也不会在保存期间出现内存峰值。当 redis 想要转储数据时,它会自行分叉并继续工作。但是,如果它处于繁重的写入负载下,则必须在转储过程中复制修改过的密钥。这就是所谓的Copy-on-write 机制。
当您不需要持久化数据时,不持久化绝对有意义。
【讨论】: