Infinispan CacheEntryExpired 侦听器
Infinispan CacheEntryExpired listener
我正在尝试为 Infinispan 中的 CacheEntryExpired 设置一个侦听器。我创建了一个只记录到期时间和密钥的测试监听器。
文档 (https://docs.jboss.org/infinispan/8.0/apidocs/org/infinispan/notifications/cachelistener/annotation/CacheEntryExpired.html) 并未如此说明,但似乎该事件在未知的未来被调用,但不一定在它过期后调用。有时在真正过期后几分钟,有时在尝试获取与密钥一起放置的值之后。
有什么方法可以配置缓存来加速这个事件吗?我不一定立即需要它,但 10 分钟后,或者从不真正可以接受。
此致
条目过期和通知之间的最长时间由过期收割线程的频率控制。 expiration reaper 线程将检查内存中的所有条目是否过期,然后检查存储中的所有条目是否已过期。这就是为什么在您链接的 Javadoc 中它谈到如果收割线程找到它可能会立即过期。
可以通过调用[1]来配置设置收割机频率的配置。默认值为每分钟并已启用。因此,默认情况下,条目应在一分钟左右内通知到期。我这么说是因为它仍然必须先迭代缓存才能找到您的过期条目。
如果用户在密钥已过期时尝试访问该密钥,则过期通知可能会提前出现。请注意,可以禁用收割器,这样做将是获取过期条目通知的唯一方法。
我正在尝试为 Infinispan 中的 CacheEntryExpired 设置一个侦听器。我创建了一个只记录到期时间和密钥的测试监听器。
文档 (https://docs.jboss.org/infinispan/8.0/apidocs/org/infinispan/notifications/cachelistener/annotation/CacheEntryExpired.html) 并未如此说明,但似乎该事件在未知的未来被调用,但不一定在它过期后调用。有时在真正过期后几分钟,有时在尝试获取与密钥一起放置的值之后。
有什么方法可以配置缓存来加速这个事件吗?我不一定立即需要它,但 10 分钟后,或者从不真正可以接受。
此致
条目过期和通知之间的最长时间由过期收割线程的频率控制。 expiration reaper 线程将检查内存中的所有条目是否过期,然后检查存储中的所有条目是否已过期。这就是为什么在您链接的 Javadoc 中它谈到如果收割线程找到它可能会立即过期。
可以通过调用[1]来配置设置收割机频率的配置。默认值为每分钟并已启用。因此,默认情况下,条目应在一分钟左右内通知到期。我这么说是因为它仍然必须先迭代缓存才能找到您的过期条目。
如果用户在密钥已过期时尝试访问该密钥,则过期通知可能会提前出现。请注意,可以禁用收割器,这样做将是获取过期条目通知的唯一方法。