encache等本地缓存


一直用redis,比较方便,最近接触encache,有点蒙了,有分布式缓存干嘛还要用encache。

集成

引入maven依赖

<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>最新版本</version>
</dependency>

配置encache.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-3.0.xsd">

  <cache alias="myCache">
    <key-type>java.lang.String</key-type>
    <value-type>java.lang.String</value-type>
    <heap>200</heap>
    <expiry>
      <ttl unit="seconds">60</ttl>
    </expiry>
  </cache>

</config>
使用encache

如下是new的创建方法,实际做项目时一般是直接注入。
代码:

public class EhcacheDemo {

    public static void main(String[] args) {
        // 创建CacheManager
        CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder()
            .withXmlConfig(new ClassPathResource("ehcache.xml").getInputStream())
            .build(true);

        // 获取Cache实例
        Cache<String, String> myCache = cacheManager.getCache("myCache", String.class, String.class);

        // 缓存数据
        myCache.put("key1", "value1");

        // 获取缓存数据
        String value = myCache.get("key1");
        System.out.println("Cached Value: " + value);

        // 关闭CacheManager
        cacheManager.close();
    }

    // 注意:这里假设有一个ClassPathResource工具类用于加载类路径下的资源,
    // 实际使用时可能需要根据你的项目配置来加载ehcache.xml文件。
    // 在Spring项目中,你可以直接使用Spring的资源加载机制。
}

encache和redis的对比

维度encacheredis
速度非常快快,快慢关系是 encache>redis>数据库
容量大。支持堆内存、堆外内存、磁盘多级数据结构,容量可以做到非常大。支持的数量可以很大,单体数据如果比较大,会受网络速度影响。
分布式算是支持吧,不推荐支持
应用场景二级缓存分布式缓存

encache常见业务场景

1、作为二级缓存,提升系统容错性。
例如设计架构为 redis | encache | 数据库。
如果redis系统服务down掉,encache还可以用,避免请求都到db。
2、静态页面等数据使用encache可以大幅度提升效率。

其他

文档

https://www.ehcache.org/ # encache官网
Spring Boot集成encache快速入门Demo # 比较详细

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值