java - Redis/Redisson LocalCachedMap - TTL/驱逐如何工作?

标签 java redis redisson

我正在尝试在我的应用程序中实现 RLocalCachedMap。在实验时,我创建了一个 LocalCachedMap,并在 LocalCachedMapOptions 中设置了 evictionPolicy 和 TTL。我原以为添加到映射中的任何条目都会在最大 TTL 过去后过期,但我发现事实并非如此。后来我了解到,此类功能仅在 RedissonPRO 中可用,但我没有使用。

现在我想知道,在 LocalCachedMapOptions 中设置 EvictionPolicy 和 TTL 是否真的会起到任何作用? Redis 服务器上的条目是否有过期时间?如果是这样,我可以配置 Redis 来清除过期条目,因为 Redisson 似乎忽略了 TTL?

有没有办法使用 RLocalCachedMap 并使条目在一定时间后过期?

最佳答案

EvictionPolicy 和 TimeToLive 将应用于 RLocalCachedMap 实例(如果已定义)。

if setting the EvictionPolicy and TTL in the LocalCachedMapOptions will actually do anything at all? Does the entry have an expiration time on the Redis server?

只有存储在本地缓存中的条目才能获取此 ttl,而存储在 Redis 中的条目则不会。

If so, can I configure Redis to clear out expired entries since Redisson seems to ignore the TTL?

要为Redis应用ttl,您需要使用RLocalCachedMapCache(Redisson PRO的一部分)或RMapCache对象(没有本地缓存​​)

关于java - Redis/Redisson LocalCachedMap - TTL/驱逐如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58698532/

相关文章:

java - 如何使用java获取redis db中的哈希列表?

Redisson本地缓存使用

java - 抽屉导航在单击事件时关闭

java - 从 HttpURLConnection 获取 InputStream 对象时出现 FileNotFoundException

java - 无法通过 Java 发送电子邮件

java - 从php页面解析数据到android

node.js - Redis 缓存 - 如何避免竞争条件?

lua - redis脚本检查哈希字段是否存在

memory-management - 是否需要硬重启redis来释放内存?

java - 如何使用 RedissonSessionManager 设置 redis "session key prefix"