首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式控制redis中的持久性

如何以编程方式控制redis中的持久性
EN

Stack Overflow用户
提问于 2020-06-26 07:32:39
回答 1查看 628关注 0票数 0

我正在使用redis和我的spring引导应用程序使用jedis,spring数据-redis。我想以以下方式控制redis的持久性机制。

  • 在一种情况下,我希望将数据持久化到转储文件中,以便在重启redis服务器时能够访问这些数据。
  • 在第二种情况下,我希望将数据保存在内存中,并由应用程序访问,直到redis服务器运行,并且应该在redis服务器重新启动时被丢弃。

我已经阅读了redis数据持久性策略,它似乎允许将数据存储在某个时间间隔上,但是有什么方法可以仅以编程方式控制持久性&而不是使用基于时间间隔的持久性机制?

EN

回答 1

Stack Overflow用户

发布于 2020-06-27 05:05:18

我找到了解决这个问题的办法。因此,我所做的仅以编程方式控制持久性的更改如下

  • 从redis配置文件中注释所有保存行。这将停止redis的默认基于时间/操作的持久性机制。
  • 然后,无论何时要将数据持久化到磁盘上,都可以调用保存()bgsave()

因此,使用可以调用的RedisTemplate

代码语言:javascript
运行
复制
redisTemplate.getConnectionFactory().getConnection().save();

这将使光盘上的变化保持不变。

对于我的需求,我将一个shouldPersist标志传递给我的存储库方法,以决定是否持久化数据。如果数据未使用savebgsave持久化,则将在服务器重新启动时丢弃数据。这就是我想要的一些场景。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62590026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档