`

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方法: 
    这些监听是怎么设置的? 

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

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

相关推荐

    cache/ehcache缓存使用

    cache.put(element); // 从缓存中读取对象 Element retrievedElement = cache.get("key"); if (retrievedElement != null) { MyObject readObject = (MyObject) retrievedElement.getObjectValue(); System....

    ehcache-1.2.2.jar

    System.out.println("Retrieved value: " + element.getObjectValue()); } } } ``` 在这个例子中,我们创建了一个名为"myCache"的缓存,然后放入一个键值对,并从缓存中取出。 **优化与最佳实践** - 调整缓存...

    Ehcache经典中文教程

    Ehcache 还提供了多种操作,如更新元素 (`cache.put(new Element("key7", "NewValue7"))`)、检查缓存大小 (`cache.getSize()`)、磁盘持久化 (`cache.flush()`) 等。 Ehcache 支持多种缓存策略,如 LRU(Least ...

    Ehcache集群环境配置

    cache.put(new Element("key7", "NewValue7")); // 根据 key 取得对应 element 的序列化 value 值 System.out.println("Get Serializable value: " + cache.get("key7").getValue().toString()); // 根据 key ...

    spring整合ehCache

    element.getObjectValue() : null; } public void removeFromCache(String cacheName, String key) { Cache cache = cacheManager.getCache(cacheName); cache.remove(key); } } ``` 此外,Spring还提供了...

    Ehcache_Hello

    System.out.println("Value: " + element.getValue()); } // 移除缓存项 cache.remove(key); // 关闭CacheManager cacheManager.shutdown(); ``` 通过这个案例,开发者可以深入理解Ehcache的基本用法和工作流程...

    基于java的ehcache(Java缓存框架 EhCache).zip

    - 存储数据:使用`Cache.put(new Element(key, value))`方法将数据放入缓存。 - 获取数据:使用`Cache.get(key)`方法根据键获取缓存中的数据。 - 删除数据:使用`Cache.remove(key)`方法删除指定键的缓存项。 5....

    ehCache用法

    cache.put(new Element("key", "value")); Object value = cache.get("key"); cache.remove("key"); ``` ### 四、ehCache最佳实践 1. **合理设置缓存大小**: 根据实际需求和服务器资源,设定合适的缓存大小,防止...

    java源码:ehcache(Java缓存框架 EhCache).rar

    使用EhCache主要通过`CacheManager`获取`Cache`实例,然后通过`put()`、`get()`、`remove()`等方法操作缓存。 9. **与其他框架集成**: EhCache能很好地与Spring、Hibernate等框架集成,提供便捷的缓存管理。 10...

    Spring+Ehcache集成

    cache.put(new Element(key, value)); } } // 其他get, remove等方法... } ``` 最后,我们利用Spring AOP实现方法级别的缓存注解。首先定义一个自定义注解,例如`@CacheableMethod`: ```java @Target...

    Ehcache缓存技术说明

    element.getObjectValue() : null; // 移除缓存 cache.remove(key); // 更新缓存 cache.put(new Element(key, newValue)); ``` 3. Ehcache与Spring的集成 在Spring应用中,可以使用Spring的` ...

    ehcache使用,以及集群配置

    cache.put(new Element("key", "value")); Object value = cache.get("key"); ``` ### Ehcache 集群配置 Ehcache 支持集群配置,以实现多台服务器间的缓存共享。在集群环境中,Ehcache 使用`terracotta-server`...

    ehcache缓存的jar包和配置文件

    myCache.put(new Element("key", "value")); Object value = myCache.get("key"); ``` 总的来说,Ehcache是一个强大的工具,能够帮助提升Java应用的性能,通过合理配置和使用,可以有效地管理缓存,避免频繁的...

    JAVA缓存入门文档..Cache

    cache.put(element); Element element = cache.get("key1"); ``` #### 五、EHCache与Hibernate集成 EHCache 可以作为 Hibernate 的二级缓存插件,提高基于 Hibernate 构建的应用程序性能。 - **配置 Hibernate...

    ehcache 缓存技术

    **EHCache缓存技术** EHCache是一款高性能、轻量级的Java缓存框架,它广泛应用于各种Java应用程序中,特别是需要提升数据访问速度和减少数据库负载的场景。EHCache是基于内存的,但同时支持持久化,能有效地提高...

    ehcache-2.10.4-distribution.tar.gz

    Ehcache是一个开源的、高性能的Java缓存库,它为应用程序提供了本地内存缓存功能,以提高数据访问速度和减少数据库负载。Ehcache 2.10.4是其2.x版本的一个发行版,这个版本在稳定性和性能方面都有良好的表现。本文将...

    Ehcache 整合Spring 使用页面、对象缓存

    sample.put(element); // 从缓存中获取对象 Element result = sample.get("key"); // 删除缓存 sample.remove("key"); // 清空所有缓存 sample.removeAll(); // 获取所有缓存配置名称 for (String cacheName : ...

    java 缓存插件ehcache 应用实例

    cache.put(element); Element foundElement = cache.get("key"); ``` 4. **移除数据**: ```java cache.remove("key"); ``` 5. **关闭缓存管理器**: ```java cacheManager.shutdown(); ``` 五、Ehcache与...

    Ehcache使用

    cache.put(new Element("key1", "value2")); // 获取缓存项 Element cachedElement = cache.get("key1"); Serializable value = cachedElement.getValue(); // 删除缓存项 cache.remove("key1"); ``` ####...

    初学ehcache,3分钟搞定。

    return element.getValue(); } else { return null; } } // 设置缓存值 public static void setValue(String key, Object obj) { // 如果键已存在,则先删除原有键值 if (cache.isKeyInCache(key)) { ...

Global site tag (gtag.js) - Google Analytics