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
Caching 仅将Redis密钥的子集持久化到磁盘的最佳方法_Caching_Redis - Fatal编程技术网

Caching 仅将Redis密钥的子集持久化到磁盘的最佳方法

Caching 仅将Redis密钥的子集持久化到磁盘的最佳方法,caching,redis,Caching,Redis,是否可以使用Redis仅将某些密钥持久化到磁盘?目前来说,运行单独的Redis服务器是最好的解决方案,其中一台服务器可以有一次性缓存,另一台服务器有更重要的数据,我们需要定期刷新到磁盘上(例如网页上访问的计数器)您可以设置密钥子集的过期时间。它们将被持久化到磁盘,但只有在它们过期之前。这对于您的用例来说已经足够了 然后,您可以使用redismaxmemory和maxmemory策略配置选项来限制内存使用量,并告诉redis当达到最大内存时该怎么做。如果使用volatile lru或volatil

是否可以使用Redis仅将某些密钥持久化到磁盘?目前来说,运行单独的Redis服务器是最好的解决方案,其中一台服务器可以有一次性缓存,另一台服务器有更重要的数据,我们需要定期刷新到磁盘上(例如网页上访问的计数器)

您可以设置密钥子集的过期时间。它们将被持久化到磁盘,但只有在它们过期之前。这对于您的用例来说已经足够了

然后,您可以使用redis
maxmemory
maxmemory策略
配置选项来限制内存使用量,并告诉redis当达到最大内存时该怎么做。如果使用
volatile lru
volatile ttl
选项,Redis将仅丢弃内存不足时过期的密钥,分别丢弃最近使用最少的密钥或过期最近的密钥(生存时间)

但是,如上所述,这些值在到期之前仍会放入磁盘。如果您确实需要避免这种情况,那么您的假设是正确的,另一台服务器似乎是唯一的选择