分布式-11-缓存

Ehcache

  • Java实现的开源分布式缓存框架
  • 特点
    • 存取快,性能好
    • 可以应用多种缓存策略
    • 分级缓存,用户可以指定哪些数据缓存在硬盘中,哪些数据缓存在内存中
    • 可通过RMI、可插入API等方式进行分布式缓存
    • 具有缓存和缓存管理器的侦听接口
    • 支持多缓存管理器实例,以及一个实例的多个缓存区域
    • Hibernate的默认二级缓存
    • 扩展简单
  • 配置示例
<ehcache>
  <diskStore path=”java.io.tmpdir”/>
  <defaultCache 
    maxElementsInMemory="10000"
    eternal="false"
    timeToIdleSeconds="120"
    timeToLiveSeconds="120"
    overflowToDisk="true"
    maxElementsOnDisk="10000000"
    diskPersistent="false"
    diskExpiryThreadIntervalSeconds="120"
    memoryStoreEvictionPolicy="LRU"
  />
</ehcache>
  • 源码解析
    • Cache接口
    • Ehcache类实现Cache接口
    • Ehcache持有Store<K, V> store
    • Store的实现类OnHeapStore持有Backend<K, V> map
    • Backend的实现类SimpleBackend持有ConcurrentHashMap<K, OnHeapValueHolder<V>> realMap
    • OnHeapValueHolder.value()返回value值,get结束
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容