只使用Redis快照作为Spring Session的会话复制服务时是否需要?我读到了关于Redis Persistence的信息,但看起来似乎是“持久性”#34;只是意味着备份,而且并不是完全必需的。
我的应用程序中存在一个问题,无论我多少次调用FLUSHALL
,它都会以某种方式继续重新加载旧会话。我怀疑来自我的RDB文件。
我可以只将内容定义为内存吗?是否有任何可靠性/性能优势可以使用RDB文件?
答案 0 :(得分:0)
我的应用程序中有一个问题是没有遮罩我会调用FLUSHALL多少次,它会以某种方式继续重新加载旧会话。我怀疑来自我的RDB文件。
FLUSHALL
也会从RDB文件中删除数据。我认为在您调用FLUSHALL
后,其他流程可能会写入数据。
我可以只将内容定义为内存吗?
是的,您可以使用配置文件禁用将db保存到磁盘。默认情况下,Redis会使用配置文件中的一些保存指令将数据保存到磁盘。例如:
save 900 1
save 300 10
save 60 10000
要禁用保存,只需注释这些保存指令或添加一个空保存指令(即save ""
)。
# save 900 1
# save 300 10
# save 60 10000
您也可以使用配置文件禁用AOF持久性日志:
appendonly no
使用RDB文件是否有任何可靠性/性能优势?
可靠性:由于Redis将数据保存到磁盘,因此您可以在重新启动Redis时恢复数据。但是,如果Redis意外停机,您可能会丢失一些数据,具体取决于配置文件中的保存指令。
性能:性能下降,特别是当您在内存中使用大数据的RDB持久性时。
您可以从its website获取有关 Redis Persistence 的更多详细信息。