springboot整合ehcache

2023-11-10

springboot整合ehcache

springboot版本:2.5.1

1.pom文件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <version>2.5.1</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
    <version>2.5.2</version>
</dependency>

<!--ehcache-->
<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.10.8</version>
</dependency>

2.applicaiton.yaml配置

spring:
  cache:
    type: ehcache
    jcache:
      config: classpath:ehcache.xml

3.ehcache.xml配置

在resources目录下面放置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"/>
    <defaultCache
            maxElementsInMemory="1000"
            eternal="false"
            timeToIdleSeconds="10"
            timeToLiveSeconds="10"
            overflowToDisk="false"/>
    <cache name="jCache"
           eternal="false"
           timeToIdleSeconds="3600"
           timeToLiveSeconds="3600"
           maxElementsInMemory="100"
           overflowToDisk="false"
           diskPersistent="false"
           memoryStoreEvictionPolicy="LRU" />
</ehcache>

4.启动类加开启缓存注解@EnableCaching

@EnableCaching
public class BootBootStrap {
    public static void main(String[] args) {
        SpringApplication.run(BootBootStrap.class, args);
    }
}

5.缓存单独写在一个类当中 @Cacheable、@CachePut、 @CacheEvict

import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;


@Service
public class CacheService {
    @Cacheable(cacheNames = "jCache", key = "#key")
    public String getFromJCache(String key) {
        // 从 JCache 缓存中获取数据
        System.out.println("重新获取");
        return "jCacheCacheManager";
    }
    @CachePut(cacheNames = "jCache")
    public void putIntoJCache(String key, String value) {
        // 将数据存入 JCache 缓存
    }
    @CacheEvict(cacheNames = "jCache")
    public void removeFromJCache(String key) {
        // 从 JCache 缓存中删除数据
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot整合ehcache 的相关文章

随机推荐

  • Overleaf使用tips(自己随手记)

    使用中文输入 导入包 usepackage UTF8 ctex 切换编译器为XeLatex 另起一段 直接空几个行就行 比如 注释 选中后ctrl 标题的使用 section 这是一级标题 subsection 这是二级标题 subsubs
  • TVM编译安装

    本文是在已大致了解tvm功能和架构的基础上 根据官方文档 在x86 64 Ubuntu 18 04 GPU Pytorch1 8 0上安装TVM的流程 参考文档 TVM安装官方文档 llvm下载链接 1 下载源代码 从tvm官网下载源代码
  • 基于粒子群算法优化支持向量机(PSO-SVM)的时间序列预测。模型评价指标包括:R2、MAE、MSE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 tic 导入数据 f xlsread windspeed xls Sheet1 B2 B1001 x y da
  • Jina AI x 矩池云

    近 5 年以来 图片 视频 语音等非结构化数据的数量 出现了爆发式增长 随着深度学习技术的不断升级 深度表征学习 迁移学习 对比学习等技术日益成熟 非结构化数据的搜索也逐渐形成可能 在此背景下 专注于神经搜索技术的商业开源软件公司 Jina
  • DRM框架(vkms)分析(3)----connector->func && connector->helper_private的使用

    一 connector gt func drm connector funcs类型的对象实例 其中有些对象实例可直接使用helper函数 有些可以自定义 还有一些可以忽略掉不赋值的 struct drm connector funcs co
  • ubuntu12.04搭建android开发环境

    一直准备学一点Linux的东西 一直没有付诸行动 这个周末准备安装一下 做了将近半年的android开发 准备学一点关于框架和源码的东西 安装之前也百度谷歌了很多次 也看了网上不少的资料 总结一点 就是对于像我这种入门级的人来说 还是不够明
  • 5种创建Dataframe方法

    下面将简要介绍Dataframe的5种创建方法 由于输出结果比较冗余 这里将不会展示输出结果 读者可以自行赋值粘贴 最好使用jupyter运行 并查看结果 另外的 代码中有非常详细的注释 Dataframe创建方法一 import nump
  • 【网络】UDP协议详解

    目录 UDP的感性理解 UDP协议格式 UDP协议格式感性理解 UDP特点 UDP的缓冲区 UDP的感性理解 UDP的传输过程类似于寄信 假设你要写一封家书寄回家里 首先你要在信封上填写好寄件人和收件人的地址 其次在贴好邮票 最后将信件投放
  • java深拷贝循环单链表,JZ25-复杂链表的复制

    题目描述 输入一个复杂链表 每个节点中有节点值 以及两个指针 一个指向下一个节点 另一个特殊指针random指向一个随机节点 请对此链表进行深拷贝 并返回拷贝后的头结点 注意 输出结果中请不要返回参数中的节点引用 否则判题程序会直接返回空
  • 由栈和队列完成数组的逆置操作(C语言)

    将数组a 11 1 3 6 10 15 16 17 18 19 20 通过栈和队列实现元素逆置的算法 入栈 gt 出栈 gt 入队 gt 出队 include stdio h include stdlib h typedef int dat
  • LangChain 中的嵌入

    在自然语言处理 NLP 领域 嵌入已经成为游戏规则的改变者 它们使我们能够将单词和文档转换为计算机可以理解的数字 这些数字表示 称为嵌入 对于理解文本 分析情感和翻译语言等任务至关重要 本文探讨了LangChain中的嵌入 这是一个用于创建
  • windows上bug崩溃定位分析(Qt或者VS)

    任何情况下 都不能保证自己写的代码不会发生崩溃 崩溃不可怕 可怕的是无法定位哪里崩溃 特别是客户那边崩溃 开发者这边不崩溃 问题陷入僵局 自从有了下面这个神奇的代码 再也不怕了 以下代码亲自测试没问题 1 如果是在VC 中 那么只需要将下列
  • 干货系列三:一台服务器能承载多少人同时访问?

    有很多人都会问这个问题 服务器能承载多少人同时访问 这个问题其实是很难有一个非常准确的答案的 因为服务器能同时承载的在线人数是受到多方面因素共同影响的结果 比如带宽 服务器处理速度以及访问页面的大小等等因素 虽然很难有一个精确的答案 但是服
  • 60秒轻松计算出任意一年任意一天星期几?

    60秒轻松计算出任意一年任意一天星期几 一 提出问题 60秒就可以轻松计算出任意一年任意一天星期几吗 你相信吗 如果能算出 连脑神经专家都认为是神童 大家可以通过度娘搜索 张戈 自闭症 连人民网都有报道 有图为证 如何快速计算出任意一年任意
  • Spring Security详解

    第一节 Spring Security 简介 Spring 是一个非常流行和成功的 Java 应用开发框架 Spring Security 基于 Spring 框架 提供了一套 Web 应用安全性的完整解决方案 一般来说 Web 应用的安全
  • maven高级学习

    maven高级 一 idea创建maven项目 1 1 idea中创建maven web项目 1 2 idea中使用tomcat 1 3 插件和依赖的区别 二 依赖管理 2 1 依赖配置 2 2 依赖传递 2 2 1 依赖传递中的冲突问题
  • Yii Framework 开发教程(14) UI 组件 MaskedTextField示例

    CMaskedTextField为格式输入框 可以为文本框指定Mask限制用户可以出入的文本格式 如本例使用99 99 9999 可以只允许输入类似日期的文本 修改View 添加CMaskedTextField 组件 php view pl
  • java比较mysql两个数据库_用java实现操作两个数据库的数据

    1 首先需要在jdbc的配置文件里面配置两个数据库的连接 数据库1的配置 driverClassName com mysql jdbc Driver url jdbc mysql 地址 3306 数据库名 useUnicode true c
  • 【SQL入门系列二】SQLZOO 分组

    分组 5 SUM and COUNT 5 SUM and COUNT Aggregate functions SUM COUNT MAX AVG SUM 世界总人口 SELECT SUM population FROM world Afri
  • springboot整合ehcache

    springboot整合ehcache springboot版本 2 5 1 1 pom文件