我有多个服务器,所有服务器都将集合成员存储在共享的 Redis 缓存中。当缓存填满时,我需要将数据保存到磁盘以释放 RAM。然后,我计划解析转储的数据,以便能够组合属于 MongoDB 中给定键的所有值。
我的第一个计划是让每个服务器进程尝试一个sadd
操作。如果请求因 Redis 已达到 maxmemory
而失败,我计划查询我设置的每个键,并将每个键写入磁盘。
但是,我想知道是否有一种方法可以使用Redis中内置的持久化方法之一将Redis数据写入磁盘并在写入后删除键/值对。如果可能的话,我可以只解析 rdb 转储并以这种方式处理数据。如果其他人可以就此问题提供任何帮助,我将不胜感激。
最佳答案
Redis 的持久性旨在用于 RAM 中的任何内容。换句话说,您无法保留 RAM 中没有的内容。
回答您的问题:不,您不能使用持久性从 RAM“卸载”数据。
关于Redis:转储数据库并删除转储的键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50307107/