初识EHCache缓存框架(3.x版本)

EHCache官方网站:http://www.ehcache.org/

EHCache官方文档:http://www.ehcache.org/documentation/3.3/getting-started.html

此博客采用的EHCache的版本: 3.3.1

EHCache的3.x版本与2.x版本的使用方式区别还是很大的,类的包名都改了,你说差别能不打么。

2.x的使用方式详见此篇博客:https://my.oschina.net/u/2608182/blog/890916

 

注意引入Jar包 , 可到官方网站中去下载,或者使用Maven依赖引入:

        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.3.1</version>
        </dependency>

官网关于EHCache的解释:

125514_e20F_2608182.png

1.通过编码的方式使用EHCache

package at.flying.test;

import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;

public class EHCacheTest {

    public static void main(String[] args) {
          //获取到管理cache的CacheManager,
        // 并且初识化了一个名为preConfigured的cache,
        // 该cache里存储的entity的key类型为Long , value类型为String,
        //该cache最多只能缓存100个entity
        CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
                .withCache("preConfigured",
                        CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class,
                                ResourcePoolsBuilder.heap(100))
                                .build())
                .build(true);
        //通过CacheManager获取到名为preConfigured的cache
        Cache<Long, String> preConfigured
                = cacheManager.getCache("preConfigured", Long.class, String.class);
        //通过CacheManager根据特定配置再创建一个cache,名为myCache,该cache由cacheManager这个实例管理
        Cache<Long, String> myCache = cacheManager.createCache("myCache",
                CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class,
                        ResourcePoolsBuilder.heap(100)).build());
        //放入一个entity到myCache里,类似于Map的存储方式
        myCache.put(1L, "da one!");
        //从名为myCache的cache里获取key为1的value值
        String value = myCache.get(1L);
        //打印获取到的值
        System.out.println(value);
        //关闭CacheManager,这个方法会自动关闭该CacheManager管理的所有cache及service
        cacheManager.close();


    }
}

2.通过xml配置文件使用EHCache

<?xml version="1.0" encoding="UTF-8"?>
<config
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
    xmlns='http://www.ehcache.org/v3'
    xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core.xsd">

  <cache alias="foo"> 
    <key-type>java.lang.String</key-type> 
    <value-type>java.lang.String</value-type> 
    <resources>
      <heap unit="entries">2000</heap> 
      <offheap unit="MB">500</offheap> 
    </resources>
  </cache>

  <cache-template name="myDefaults"> 
    <key-type>java.lang.Long</key-type>
    <value-type>java.lang.String</value-type>
    <heap unit="entries">200</heap>
  </cache-template>

  <cache alias="bar" uses-template="myDefaults"> 
    <key-type>java.lang.Number</key-type>
  </cache>

  <cache alias="simpleCache" uses-template="myDefaults" /> 

</config>

官方文档给出的解释如下:

123829_Ojgv_2608182.png123851_ZXoS_2608182.png

然后再通过Java代码读取配置文件使用EHCache

URL myUrl = getClass().getResource("/my-config.xml"); 
Configuration xmlConfig = new XmlConfiguration(myUrl); 
CacheManager myCacheManager = CacheManagerBuilder.newCacheManager(xmlConfig); 

官方文档给出的解释如下:

124108_slAk_2608182.png

124125_G9FG_2608182.png

关于更多详细的信息参见官方文档:http://www.ehcache.org/documentation/3.3/xml.html

3.EHCache与Spring的整合使用

注:Spring4.3.8版本及其以上才支持EHCache3.x版本。

待写...

转载于:https://my.oschina.net/u/2608182/blog/890239

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值