Map缓存适配成带生存期的缓存
来源:互联网 发布:圣女贞德 知乎 编辑:程序博客网 时间:2024/04/29 22:36
前段时间,做了个数据缓存,很简单你,使用一个Map实现:
Map<String, List> mapCacheList = new Hashtable<String, List>();
现在有个需求,就是设置一个生存期,过去的缓存无效。为了不改动以前的代码,做了以下适配:
public static Map<String, List> mapCacheList = new Hashtable<String, List>(){
@Override
public List get(Object key) {
if(ApplicationParameter.CACHEDELAY == -1) { //缓存被关闭
return null;
}
if(ApplicationParameter.CACHEDELAY == 0) { //永不失效
return super.get(key);
}
Long iStartTick = mapStartTick.get(key);
if(iStartTick != null) {
if(System.currentTimeMillis()-iStartTick > Long.valueOf(ApplicationParameter.CACHEDELAY)*60*1000) {
mapStartTick.remove(key);
remove(key);
return null;
}
return super.get(key);
}
return null;
}
@Override
public List put(String key, List value) {
if(ApplicationParameter.CACHEDELAY == -1) { //缓存被关闭
return value;
}
if(ApplicationParameter.CACHEDELAY == 0) { //永不失效
return super.put(key, value);
}
List lstRet = super.put(key, value);
mapStartTick.put(key, System.currentTimeMillis());
return lstRet;
}
private Map<String, Long> mapStartTick = new HashMap<String, Long>();
};
- Map缓存适配成带生存期的缓存
- 修改DNS缓存TTL生存时间的生效期
- 设置Smarty中缓存的生存时间
- map缓存
- Activity 的生存期
- 变量的生存期
- 活动的生存期
- 变量的生存期
- 变量的生存期
- 简单的Map缓存机制实现
- 缓存Map高并发下的访问
- 单例-Map-缓存
- java map缓存
- map实现简单缓存
- java实现缓存Map
- 利用map做缓存
- 接口的生存期管理
- JavaScript 变量的生存期
- iOS UIWebView 访问https 绕过证书验证的方法
- 错排 与 组合
- 关于PHP字符串截取显示相同长度的字符以及UTF8下的ASCII编码
- Android自定义对话框(Dialog)位置,大小
- struts2 Action!jobpage.action后面传参数
- Map缓存适配成带生存期的缓存
- 在oracle的连接(join)中使用using关键字 (转)
- android 利用重力感应监听 来电时翻转手机后静音。
- android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
- python type函数
- JQuery判断元素是否隐藏
- 通过按键点击实现动态切分窗口的方法
- 单点登录原理
- android textview 使用html实现下划线效果