我计划使用 redis 作为缓存,每个键都有一个过期设置,我在 redis.conf 中使用了以下配置:
maxmemory 2gb
maxmemory-policy allkeys-lru
问题是如何将过期的密钥持久化到另一个数据库,如 MongoDB(或任何数据库),该数据库可以将密钥存储在磁盘中。要求如下:
1.当我查询“热键”(最近经常使用)时,如果redis有键,我可以快速从redis获取结果,否则我可以从存储密钥的另一个数据库中获取密钥在磁盘中。2.每个键都有自己的寿命。当redis中有key过期时,其他数据库应该存储过期的key。
“这种方式使用Redis作为缓存时,如果应用也需要使用Redis作为存储,强烈建议创建两个Redis实例,一个作为缓存,这样配置,一个作为存储,根据您的持久性需求进行配置,并且只保存与缓存数据无关的密钥。” 引用http://redis.io/topics/config
我的问题是将过期的密钥保存到另一个数据库(存储在磁盘中的密钥)而不是redis。