spring boot整合cache使用Ehcache 进行数据缓存

之前的文章 spring boot整合 cache 以redis服务 处理数据缓存 便捷开发 带着大家通过spring boot整合了 cache 缓存
那么 我们就来说说 其他服务的缓存
而spring boot默认的缓存方案就是 cache 用simple模式

spring boot的强大在于它的整合能力 它将其他缓存技术整合 统一了接口
简单说 所有的接口都是一样的 代码不用动 换实现就好了

那么问题来了,都有哪些整合技术呢?
如下图
在这里插入图片描述
这是官方给出的解决方案
那么 我们这里 就在说一下
memcached
Redis
Simple
Ehcache

Redis之前说过了 Simple就是默认的
然后 本文 我们来说 Ehcache

然后 我们打开 java spring boot项目

pom.xml 导入坐标

<dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId>
</dependency>

然后 application.yml 加上如下代码

spring:cache:type: ehcache

这里 就是告诉它 我们 cache 要用 ehcache服务

然后 找到如下图 目录 在下面创建一个 ehcache.xml
在这里插入图片描述
参考代码如下

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd"updateCheck="false"><defaultCacheeternal="false"timeToIdleSeconds="120"timeToLiveSeconds="120"maxEntriesLocalHeap="10000"maxEntriesLocalDisk="10000000"diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="LRU"><persistence strategy="localTempSwap"/></defaultCache><!-- 添加其他自定义缓存配置 --></ehcache>

地址这里 会出现报红的情况 这个是idea的问题 和我们没关系 不用管
在这里插入图片描述
然后 来说说它的配置

eternal: 缓存条目是否永久有效,这里设置为 false 表示不永久有效。
timeToIdleSeconds: 缓存条目在空闲多少秒后过期。
timeToLiveSeconds: 缓存条目在存活多少秒后过期。
maxEntriesLocalHeap: 缓存在堆内存中的最大条目数。
maxEntriesLocalDisk: 缓存在磁盘中的最大条目数。
diskExpiryThreadIntervalSeconds: 磁盘过期线程的运行间隔,用于清理过期的磁盘缓存条目。
memoryStoreEvictionPolicy: 内存存储驱逐策略,这里设置为 LRU (Least Recently Used,最近最少使用)。
后面是元素时间和策略 如果你想具体了解 可以自己去搜索

老规矩 启动类 加上 EnableCaching 启动cache
在这里插入图片描述
这里 我们属性类 就不需要 implements Serializable了
在这里插入图片描述
然后 我们接口方法还是这样写
在这里插入图片描述
我们声明Cacheable 缓存空间叫 cacheSpace
还是那句话 如果根据id查 可以把id作为key进行存储
在这里插入图片描述
但如果这个时候 你直接启动项目 然后调用接口会报错的
因为 现在还没有 cacheSpace 这个缓存

ehcache.xml加入代码

<!-- 添加其他自定义缓存配置 -->
<cache name="cacheSpace"eternal="false"timeToIdleSeconds="300"timeToLiveSeconds="600"maxEntriesLocalHeap="1000"maxEntriesLocalDisk="10000"diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="LRU"/>

我们加一个叫 cacheSpace 的缓存
在这里插入图片描述
重新启动项目
然后 我们调用接口
在这里插入图片描述
正常返回 看项目控制台 明显是有执行sql的
在这里插入图片描述
然后 我们清空控制台内容 然后重新调接口

很明显 我们的缓存已经形成了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/467643.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【北邮鲁鹏老师计算机视觉课程笔记】08 texture 纹理表示

【北邮鲁鹏老师计算机视觉课程笔记】08 texture 纹理表示 1 纹理 规则和不规则的 2 纹理的用处 从纹理中恢复形状 3 分割与合成 4 分析纹理进行分类 通过识别纹理分析物理性质 如何区分纹理 5 寻找有效的纹理分类方法 发现模式、描述区域内模式 A对应图2 B对应图…

LeetCode、1318. 或运算的最小翻转次数【中等,位运算】

文章目录 前言LeetCode、1318. 或运算的最小翻转次数【中等&#xff0c;位运算】题目链接与分类题解位运算 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技术领…

如何在Spring Boot中启用HTTPS?

在Spring Boot中启用HTTPS是一个增强应用程序安全性的重要步骤。下面我将介绍如何将一个Spring Boot项目配置成支持HTTPS协议。 引入 在现代的网络通信中&#xff0c;安全性成为了一个不能忽视的要求。特别是当我们谈论到数据传输时&#xff0c;保护用户信息的安全性是非常重要…

CSS之水平垂直居中

如何实现一个div的水平垂直居中 <div class"content-wrapper"><div class"content">content</div></div>flex布局 .content-wrapper {width: 400px;height: 400px;background-color: lightskyblue;display: flex;justify-content:…

四、案例 - Oracle数据迁移至MySQL

Oracle数据迁移至MySQL 一、生成测试数据表和数据1.在Oracle创建数据表和数据2.在MySQL创建数据表 二、生成模板文件1.模板文件内容2.模板文件参数详解2.1 全局设置2.2 数据读取&#xff08;Reader&#xff09;2.3 数据写入&#xff08;Writer&#xff09;2.4 性能设置 三、案例…

AcWing 1207 大臣的旅费(树状DP + 注释详解)

[题目概述] 很久以前&#xff0c;T 王国空前繁荣。 为了更好地管理国家&#xff0c;王国修建了大量的快速路&#xff0c;用于连接首都和王国内的各大城市。 为节省经费&#xff0c;T 国的大臣们经过思考&#xff0c;制定了一套优秀的修建方案&#xff0c;使得任何一个大城市都…

React18原理: 核心包结构与两大工作循环

React核心包结构 1 ) react react基础包&#xff0c;只提供定义 react组件(ReactElement)的必要函数一般来说需要和渲染器(react-dom,react-native)一同使用在编写react应用的代码时, 大部分都是调用此包的api比如, 我们定义组件的时候&#xff0c;就是它提供的class Demo ext…

Excel一键导入导出-EasyPOI

EasyPOI是一款优秀的开源Java库&#xff0c;专为简化和优化Excel文件的导入导出操作而设计。下面&#xff0c;我会介绍EasyPOI在项目中使用EasyPOI&#xff0c;实现Excel文件的高效操作。帮助读者全面了解和掌握这一工具。 EasyPOI简介 官网&#xff1a; http://www.wupaas.co…

Linux_进程间通信

管道 System V 共享内存 System V IPC 接口介绍 由于进程地址空间的存在&#xff0c;所以进程间有具有独立性&#xff0c;一个进程看不到另一个进程的数据。那么如果我们想让进程间通信&#xff0c;就必须先让它们先看到同一份资源。常见的进程间通信的方法有管道&#xff0c;…

下一代块存储重新定义任务关键型存储架构

HPE 宣布全面推出基于 HPE Alletra Storage MP 构建的 HPE GreenLake for Block Storage 第 3 版&#xff0c;提供业界首款分解式横向扩展块存储&#xff0c;并提供 100% 数据可用性保证。这种独特的块存储产品由共享一切存储架构提供支持&#xff0c;并通过 HPE GreenLake 云平…

网络渗透测试:Wireshark抓取qq图片

Wireshark Wireshark Downloadhttps://www.wireshark.org/download.html 简介 WireShark是非常流行的网络封包分析工具&#xff0c;可以截取各种网络数据包&#xff0c;并显示数据包详细信息。常用于开发测试过程中各种问题定位。本文主要内容包括&#xff1a; 1、Wireshar…

compile error ESP32cam.h no such file or directory

解决方法 可以参考这篇文章: But first, you will need to download the esp32cam.h library. For this go to Github and download the esp32cam Zip. GitHub - yoursunny/esp32cam: OV2640 camera on ESP32-CAM, Arduino library 具体就是下面的这篇重要的文章 :