Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式控制redis中的持久性_Redis_Jedis_Spring Data Redis_Datapersistance - Fatal编程技术网

如何以编程方式控制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和我的spring boot应用程序,使用jedis,spring data redis。我想通过以下方式控制redis的持久性机制

  • 在一种情况下,我希望将数据持久化到转储文件中,因此 重新启动redis服务器时,数据应可访问

  • 在第二种情况下,我希望将数据保存在内存中的redis中,然后 在redis服务器运行和 应在重新启动redis服务器时丢弃


我已经阅读了策略,它似乎允许在某些时间间隔上存储数据,但是有没有任何方法我可以只通过编程控制持久性&而不是使用基于时间间隔的持久性机制

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

  • 注释redis配置文件中的所有保存行。 这将停止redis默认的基于时间/操作的持久性机制

  • 然后,只要您想将数据保存到光盘上,就调用或

所以你可以使用

redisTemplate.getConnectionFactory().getConnection().save();
这将在光盘上保留更改

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