Ehcache入门基础之XML配置

<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">

    <!-- 声明一个名称为foo的缓存配置 -->
    <cache alias="foo">
        <!-- 设置缓存对象中key、value 的类型为String,如果没有指定则默认为java.lang.Object -->
        <key-type>java.lang.String</key-type>
        <value-type>java.lang.String</value-type>
        <resources>
            <!--设置该缓存在堆上可持有2000个实体(键值对) -->
            <heap unit="entries">2000</heap>
            <!--最大可持有500MB的堆外内存 -->
            <offheap unit="MB">500</offheap>
        </resources>
    </cache>

    <!-- 声明一个配置模版 -->
    <cache-template name="myDefaults">
        <!-- 设置键、值分别为Long和String类型-->
        <key-type>java.lang.Long</key-type>
        <value-type>java.lang.String</value-type>
        <!-- 在堆上可持有200个实体-->
        <heap unit="entries">200</heap>
    </cache-template>

    <!-- 声明一个名称为"bar"的缓存配置,并引用myDefaults配置模版中的配置信息配置进行配置,但键的类型使用此处设置的Number类型-->
    <cache alias="bar" uses-template="myDefaults">
        <key-type>java.lang.Number</key-type>
    </cache>

    <!-- 直接使用myDefaults模版配置中配置信息配置名称为simpleCache缓存-->
    <cache alias="simpleCache" uses-template="myDefaults"></cache>
</config>

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

import java.net.URL;

public class GettingStartedEhcacheForXml {

    public static void main(String[] args){

        URL myUrl = GettingStartedEhcacheForXml.class.getResource("/ehcache.xml");
        Configuration configuration = new XmlConfiguration(myUrl);
        CacheManager cacheManager = CacheManagerBuilder.newCacheManager(configuration);


        /**
         * CacheManager实例只有经过初始化后才能执行获取缓存对象、创建缓存对象
         */
        cacheManager.init();

        /**
         * 获取XML文件中配置的名称为simpleCache的缓存
         */
        Cache simpleCache = cacheManager.getCache("simpleCache", Long.class, String.class);

        simpleCache.put(2L,"simpleCache");

        System.out.println(simpleCache.get(2L));

        Cache<Long, String> myCache = cacheManager.createCache("myCache",
                CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(10)));

        myCache.put(1L, "da one");

        String value = myCache.get(1L);
        System.out.println(value);


        cacheManager.removeCache("myCache");


        cacheManager.close();
    }
}

输出结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值