如何以编程方式控制redis中的持久性
我正在使用redis和我的spring boot应用程序,使用jedis,spring data redis。我想通过以下方式控制redis的持久性机制如何以编程方式控制redis中的持久性,redis,jedis,spring-data-redis,datapersistance,Redis,Jedis,Spring Data Redis,Datapersistance,我正在使用redis和我的spring boot应用程序,使用jedis,spring data redis。我想通过以下方式控制redis的持久性机制 在一种情况下,我希望将数据持久化到转储文件中,因此 重新启动redis服务器时,数据应可访问 在第二种情况下,我希望将数据保存在内存中的redis中,然后 在redis服务器运行和 应在重新启动redis服务器时丢弃 我已经阅读了策略,它似乎允许在某些时间间隔上存储数据,但是有没有任何方法我可以只通过编程控制持久性&而不是使用基于时间间
- 在一种情况下,我希望将数据持久化到转储文件中,因此 重新启动redis服务器时,数据应可访问
- 在第二种情况下,我希望将数据保存在内存中的redis中,然后 在redis服务器运行和 应在重新启动redis服务器时丢弃
我已经阅读了策略,它似乎允许在某些时间间隔上存储数据,但是有没有任何方法我可以只通过编程控制持久性&而不是使用基于时间间隔的持久性机制我找到了这个问题的解决方案。因此,我对仅以编程方式控制持久性所做的更改如下
- 注释redis配置文件中的所有保存行。 这将停止redis默认的基于时间/操作的持久性机制
- 然后,只要您想将数据保存到光盘上,就调用或
redisTemplate.getConnectionFactory().getConnection().save();
这将在光盘上保留更改
根据我的要求,我将向我的存储库方法传递一个shouldPersist
标志,以决定是否持久化数据。如果未使用save
或bgsave
保存数据,则在服务器重新启动时将丢弃该数据。这就是我想要的一些场景