读书人

Ehcache(5): cache.put(element)做了些

发布时间: 2012-11-01 11:11:33 作者: rapoo

Ehcache(五): cache.put(element)做了些什么?

1, checkStatus(): if (!status.equals(Status.STATUS_ALIVE))
2, element.resetAccessStatistics():
??? ?? ?lastAccessTime = 0;
??????? nextToLastAccessTime = 0;
??????? hitCount = 0;

??? 怎么把一个element里的这些信息都给置成了0?
3, elementExists = isElementInMemory(key) || isElementOnDisk(key);
??? 判断要put进来的element是否已存在. 为什么不分是Memory和Disk呢??

??? Memory中用了Map来模拟内存,?
????
??? disk判断时: diskElements.containsKey(key) || spool.containsKey(key).?
?? ???? private Map diskElements = Collections.synchronizedMap(new HashMap());
?? ???? private Map spool = new HashMap();
?? ??? ?
?? ???? 怎么一点也看不出与disk相关的信息: 如,IO,stream等.?
4, backOffIfDiskSpoolFull
??? 看来这个方法里并不真正做back? 那么真正的backOff是在什么方法里做的??

5, 真正的put
??? 怎么类MemoryStore里的doPut方法是空的??

7, registeredEventListeners.notifyElementXXX方法:?
??? 这些监听是怎么设置的??

1 楼 zhangyou1010 2011-11-12 博主,您好,ehcache中的一些事件监听和如何把cache里面的东西写入硬盘那一块的知识,您

好像没有涉及到。ps:谢谢博主分享。

读书人网 >软件架构设计

热点推荐