gpt4 book ai didi

database - Redis 是持久数据存储吗?

转载 作者:IT王子 更新时间:2023-10-29 05:54:18 24 4
gpt4 key购买 nike

“持久”是指服务器随时可能崩溃,只要磁盘完好无损,就不会丢失数据(参见 ACID )。看起来这就是日志模式的目的,但是如果启用日志记录,这是否会破坏对内存数据进行操作的目的?读取操作可能不受日志记录的影响,但日志记录似乎会降低您的写入性能。

最佳答案

Redis 不是通常部署为“持久”数据存储(在 ACID 中的“D”的意义上),即使有日志记录。大多数用例有意牺牲一点耐用性以换取速度。

但是,可以选择将“仅附加文件”存储模式配置为以持久方式运行,但要以性能为代价。它必须支付 fsync() 的费用在每次修改上。要配置它,请在您的 .conf 文件中设置这两个选项:

 appendonly yes
appendfsync always

来自文档:How durable is the append only file?

Check redis.conf, you can configurehow many times Redis will fsync() dataon disk. There are three options:

  • Fsync() every time a new command isappended to the append log file. Veryvery slow, very safe.
  • Fsync() one timeevery second. Fast enough, and you canlose 1 second of data if there is adisaster.
  • Never fsync(), just put yourdata in the hands of the OperatingSystem. The faster and unsafer method.

(请注意,Redis 2.0.0 后的配置文件中 appendfsync 的默认值是everysec,而不是always。)

关于database - Redis 是持久数据存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2449969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com