关于ehcache的timeToLiveSeconds和timeToIdleSeconds
来源:互联网 发布:python爬虫入门 编辑:程序博客网 时间:2024/06/04 18:12
这两个参数很容易误解,看文档根本没用,我仔细分析了ehcache的代码。结论如下:
1、timeToLiveSeconds的定义是:以创建时间为基准开始计算的超时时长;
2、timeToIdleSeconds的定义是:在创建时间和最近访问时间中取出离现在最近的时间作为基准计算的超时时长;
3、如果仅设置了timeToLiveSeconds,则该对象的超时时间=创建时间+timeToLiveSeconds,假设为A;
4、如果没设置timeToIdleSeconds,则该对象的超时时间=max(创建时间,最近访问时间)+timeToIdleSeconds,假设为B;
5、如果两者都设置了,则取出A、B最少的值,即min(A,B),表示只要有一个超时成立即算超时。
为了更好理解,可直接查看代码。摘自:net.sf.ehcache.Element.java(版本1.2.4):
- public long getExpirationTime() {
- if (!lifespanSet || eternal || (timeToLive == 0 && timeToIdle == 0)) {
- return Long.MAX_VALUE;
- }
- long expirationTime = 0;
- long ttlExpiry = creationTime + timeToLive * ONE_SECOND;
- long mostRecentTime = Math.max(creationTime, nextToLastAccessTime);
- long ttiExpiry = mostRecentTime + timeToIdle * ONE_SECOND;
- if (timeToLive != 0 && (timeToIdle == 0 || lastAccessTime == 0)) {
- expirationTime = ttlExpiry;
- } else if (timeToLive == 0) {
- expirationTime = ttiExpiry;
- } else {
- expirationTime = Math.min(ttlExpiry, ttiExpiry);
- }
- return expirationTime;
- }
0 0
- 关于ehcache的timeToLiveSeconds和timeToIdleSeconds
- 关于ehcache的timeToLiveSeconds和timeToIdleSeconds
- 关于ehcache的timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds区别
- 关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明
- ehcache中的timeToLiveSeconds和timeToIdleSeconds时间
- ehcache中的timeToLiveSeconds和timeToIdleSeconds时间
- ehcache中的timeToLiveSeconds和timeToIdleSeconds时间
- 关于ehCache配置timeToLiveSeconds失效的问题总结
- 关于ehcache的简单使用
- 关于ehcache缓存的使用
- 关于Ehcache
- 建议145:避免过长的方法和过长的类
- mysql 客户端远程连接设置
- 使用python对cocos2dx的手游图片资源进行加密
- 【poj2528】Mayor's posters
- 从servlet转发跳到Jsp页面中时出现的乱码问题
- 关于ehcache的timeToLiveSeconds和timeToIdleSeconds
- 【腾讯TMQ】快给你的用例做减法吧
- 自定义控件三部曲之动画篇(二)——Interpolator插值器
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 11: ordinal not in range
- 建议146:只对外公布必要的操作
- css清浮动方法
- 在浏览器上打开本地应用
- FushionChart一个酷炫的图表插件
- 使用Myelipse逆向生成类图的步骤