我正在使用 Redisson 的 RMapCache 来处理应用程序中的一些分布式集合。
这些集合中的密钥应该在一段时间后过期,因此在添加密钥时,我设置了 TTL:
RMapCache<String, MyClass> cacheMap = GetMap("test");
cacheMap.put("DTO1", myClassInstance, 20, TimeUnit.SECONDS);
因此,在 20 秒后,密钥应过期。如果进程在过期时间戳之前未终止,则此方法非常有效。但是,如果由于任何原因进程死亡,则永远不会清除密钥,这意味着逐出由 Java 进程中的 Redisson 处理,而不是由 Redis 本身处理。
有没有办法让 Redisson 使用 Redis 的内置 EXPIRE 功能?因此,在 Map 中插入的进程不负责密钥逐出。
我发现当前的 redisson 实现非常脆弱。
九州编程
相关分类