使用没有rdb快照的Spring Session Redis

时间:2016-08-31 20:42:44

标签: spring redis spring-session

只使用Redis快照作为Spring Session的会话复制服务时是否需要?我读到了关于Redis Persistence的信息,但看起来似乎是“持久性”#34;只是意味着备份,而且并不是完全必需的。

我的应用程序中存在一个问题,无论我多少次调用FLUSHALL,它都会以某种方式继续重新加载旧会话。我怀疑来自我的RDB文件。

我可以只将内容定义为内存吗?是否有任何可靠性/性能优势可以使用RDB文件?

1 个答案:

答案 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 的更多详细信息。