SpringBoot集成ehcache缓存

本文介绍了Ehcache作为Java进程内的缓存框架,对比了它与Redis的区别,并详细阐述了如何在SpringBoot中集成Ehcache,包括依赖引入、配置文件设置、缓存配置类和Service的使用,最后提到了在大型系统中如何根据需求选择合适的缓存方案。
摘要由CSDN通过智能技术生成

1.简介

纯java进程内缓存框架,快速、简单;

缓存数据有两级:内存和磁盘,因此无需担心容量问题;

缓存数据会在虚拟机重启的过程中写入磁盘;

需要注意的是,ehcache是将数据放入jvm内存中,也就是说档次缓存在本次服务器启动期间有效,下次服务器启动将会失效。

2.和redis比较

redis:是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多。属于独立的运行程序,需要单独安装后,使用JAVA中的Jedis来操纵。因为它是独立,所以如果你写个单元测试程序,放一些数据在Redis中,然后又写一个程序去拿数据,那么是可以拿到这个数据的。

ehcache:直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便,通常和redis一起使用。与Redis明显不同,它与java程序是绑在一起的,java程序活着,它就活着。譬如,写一个独立程序放数据,再写一个独立程序拿数据,那么是拿不到数据的。只能在独立程序中才能拿到数据。

3.选择

如果是单个应用或者对缓存访问要求很高的应用,用ehcache。

如果是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis

4.与SpringBoot集成

1)引入依赖包

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.10.3</version>
</dependency>

2)添加配置文件 ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
         updateCheck="false">
    <diskStore path="java.io.tmpdir/Tmp_EhCache" />

    <defaultCache eternal="false" maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
                  timeToIdleSeconds="0" timeToLiveSeconds="0" memoryStoreEvictionPolicy=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值