cache2k put()是否更新过期时间
Does cache2k put() update the expiry time
我在 API 文档中找不到答案,所以我想在这里问一下:
假设我有一个 cache2k 缓存
import org.cache2k.Cache;
import org.cache2k.CacheBuilder;
import java.util.concurrent.TimeUnit;
....
Cache<String, Integer> cache =
CacheBuilder.newCache(String.class, Integer.class)
.expiryDuration(1, TimeUnit.MINUTES)
并在其中放入一个项目
cache.put("item", 1)
该物品的有效期为一分钟。 30 秒后,我将此项目更新为
cache.put("item", 0)
这个项目的到期时间现在大约是 30 秒还是一分钟?
非常感谢每条有用的评论。也许我错过了文档中的答案或者有一些我不知道的标准...
此致
全球蠕虫
过期持续时间是条目存储在缓存中(例如通过 put 或 get() 和读取)到条目被视为过期之间的时间。过期条目不再有效,缓存不再返回。是否从内部缓存数据中删除过期条目取决于其他配置。
有些缓存会在新条目和更新后的过期时间之间产生差异。在 cache2k 中这是相同的。
因此,在第二次 put() 之后,过期时间被重置,条目在一分钟后过期。
我在 API 文档中找不到答案,所以我想在这里问一下:
假设我有一个 cache2k 缓存
import org.cache2k.Cache;
import org.cache2k.CacheBuilder;
import java.util.concurrent.TimeUnit;
....
Cache<String, Integer> cache =
CacheBuilder.newCache(String.class, Integer.class)
.expiryDuration(1, TimeUnit.MINUTES)
并在其中放入一个项目
cache.put("item", 1)
该物品的有效期为一分钟。 30 秒后,我将此项目更新为
cache.put("item", 0)
这个项目的到期时间现在大约是 30 秒还是一分钟?
非常感谢每条有用的评论。也许我错过了文档中的答案或者有一些我不知道的标准...
此致
全球蠕虫
过期持续时间是条目存储在缓存中(例如通过 put 或 get() 和读取)到条目被视为过期之间的时间。过期条目不再有效,缓存不再返回。是否从内部缓存数据中删除过期条目取决于其他配置。
有些缓存会在新条目和更新后的过期时间之间产生差异。在 cache2k 中这是相同的。
因此,在第二次 put() 之后,过期时间被重置,条目在一分钟后过期。