所有
这是我对这两个要素的理解,我想澄清一下。
timeToIdleSeconds =如果一个对象空闲超过X秒,它将被驱逐。
来自文档
如果客户端访问myCache中已闲置更多的元素 超过一小时(timeToIdleSeconds),它驱逐该元素。元素 也被赶出兵马俑服务器阵列。
如果再次请求缓存中的对象,它是否会被驱逐?缓存大小限制是否是清除未再次请求的缓存对象的唯一方法?
timeToLiveSeconds =如果对象被缓存超过X秒,则该对象将被驱逐。这与timeToIdleSeconds的工作方式相同吗?只在再次要求时才被驱逐?或者这会被后台进程清理干净吗?
由于
答案 0 :(得分:0)
对于你的最后一个问题:“或者这会被后台程序清理干净吗?”
http://terracotta.org/apidocs/terracotta-toolkit/3.2.0/org/terracotta/cache/CacheConfig.html
setMaxTTISeconds和setMaxTTLSeconds中的具有:
“背景逐出线程的睡眠间隔基于此值和最大TTL,因此更改此值的副作用是更改逐出线程的睡眠间隔。”
我假设不同版本的兵马俑会相似;我相信会有一个后台线程进行清理。
如果这是正确的,那么似乎暗示不需要请求来触发驱逐,这与您引用的文档有些相反。