当前位置: 首页 > news >正文

caffetne本地缓存--Java实现

本地缓存适合服务器之间不需要共享的数据,同时本地缓存速度更快,直接从内存中读取,也不需要网络IO

一般场景:

  • 数据量有限的小型数据集
  • 不需要服务器之间相互共享的数据
  • 高频、低延迟的场景(用户临时会话信息、短期热点数据)

一、引入依赖

GitHub链接:

<!-- 本地缓存 Caffeine -->
<dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>3.1.8</version>
</dependency>

注意:caffeine依赖版本的运用

  • 3.x 基于 JDK 11 编译,在 JDK 8 下无法运行;
  • 2.x 在 JDK 11+ 仍可使用,但无法获得性能优化和新特性。

二、代码实现

  
private final Cache<String, String> LOCAL_CACHE =Caffeine.newBuilder().initialCapacity(1024).maximumSize(10000L)// 缓存 5 分钟移除.expireAfterWrite(5L, TimeUnit.MINUTES).build();@PostMapping("/list/page/vo/cache")
public List<Object> getCaffeineCache() {// 限制爬虫--一次只能读取多少条数据// 构建缓存 keyString cacheKey = "xxxxxxx";// 从本地缓存中查询String cachedValue = LOCAL_CACHE.getIfPresent(cacheKey);if (cachedValue != null) {// 如果缓存命中,返回结果List<Object> cached = JSONUtil.toBean(cachedValue, Object.class);return cached;}// 查询数据库List<Object> cachedVo = new ArrayList<>();// 存入 Cache 缓存String cacheValue = JSONUtil.toJsonStr(cachedVo );LOCAL_CACHE.put(cacheKey, cacheValue);// 返回结果return cachedVo ;
}

http://www.lryc.cn/news/613261.html

相关文章:

  • 【音视频】WebRTC C++ native 编译
  • 【动态规划 | 完全背包】动态规划经典应用:完全背包问题详解
  • 01数据结构-哈夫曼树
  • 初识 MQ:从同步到异步,聊聊消息队列那些事
  • ladybird
  • Minio 分布式集群安装配置
  • 【unitrix数间混合计算】2.1 数间混合计算模块(src/number/mod.rs)
  • ADC常用库函数(STC8系列)
  • 【面试向】大模型应用岗 —— Transformer 篇
  • 输电线路电气参数与阻抗计算全解析
  • 从库存一盘货到全域智能铺货:巨益科技全渠道平台助力品牌业财一体化升级
  • 从零开始掌握Hardhat开发
  • 【tips】css模仿矢量图透明背景
  • 小红书开源多模态视觉语言模型DOTS-VLM1
  • Ubuntu 22 下脚本登录MFA堡垒机
  • 嵌入式学习---在 Linux 下的 C 语言学习 Day10
  • 指针——练习
  • OLMo 2 架构深度解析:开放语言模型的技术革命
  • A Logical Calculus of the Ideas Immanent in Nervous Activity(神经网络早期的M-P模型)
  • 【数字图像处理系列笔记】Ch05:傅里叶变换与频率域滤波
  • 【实时Linux实战系列】实时分布式计算架构的实现
  • Mongodb常用命令简介
  • MongoDB学习专题(六)复制集和分片集群
  • 02电气设计-安全继电器电路设计(让电路等级达到P4的安全等级)
  • 内存泄漏系列专题分析之三十二:高通相机CamX ION/dmabuf内存管理机制CmdBuffer
  • VC6800智能相机:赋能智能制造,开启AI视觉新纪元
  • vue2+elementui select框可以选择可以回车添加新的option
  • Godot ------ 中级人物血条制作01
  • ElementUI之表格
  • Oracle 19C In-Memory 列存储技术测试