日期:2014-05-17  浏览次数:20397 次

缓存
想要实现的功能如下
一个请求的到来 根据ID来查询
判断缓存中有没有 
如果有 (更新缓存中实体最后被访问的时间) 就返回  
如有没有 则查数据库 然后放进缓存 然后返回

我现在想设定缓存的释放策略---不想一下子全部释放
当内存不足时 或内存消耗了100M 或过了某段时间

找出很久没有被查找的实体 释放掉

但是
怎么判断 内存的消耗情况
或者到某段时间后,释放掉很久没有被访问的,最近被访问的继续保存在缓存中

还有什么好的解决方案???



------解决方案--------------------
http://www.cnblogs.com/McJeremy/archive/2008/12/01/1344660.html
------解决方案--------------------
控制缓存中实体的数量 ,比方说一个实体0.1M 那你放进1000 个 ,放到1001个的时候,删除第一个。当然要另外的数据结构来存储个数, linkedlist 应该可以 而且好像还有removeFirst方法, 但是不能控制删除其他的,比如访问率低的~