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

jvm一级缓存

1、利用JVM缓存。脱离redis。

2、导包,springboot自带此包。如没有可以导:com.google.guava:guava:20.0的包。

3、直接上代码:

package com.leo.cache;import com.alibaba.fastjson.JSONObject;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import lombok.SneakyThrows;
import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;/*** @author Leo*/
@Component
public class JvmLruOneCacheComponent {Cache<String, String> allCache;@PostConstructpublic void initCache() {allCache = CacheBuilder.newBuilder().weakValues()最大容量.maximumSize(10L)//多少分钟后没有访问的数据会被清除.expireAfterAccess(30L, TimeUnit.MINUTES)// 设置并发级别为cpu核心数.concurrencyLevel(Runtime.getRuntime().availableProcessors() * 2).build();}public Map<String, String> getCache() {return allCache.asMap();}@SneakyThrowspublic List<StockCrawlingResponseDto> getStockCrawlingList() {String key = "xxxxxxx";//先获取缓存。没有缓存就从后面的方法获取数据并存入缓存String jsonStr = allCache.get(key, () -> JSONObject.toJSONString(xxxxService.getData()));return JSONObject.parseArray(jsonStr, xxxdto.class);}public String getCacheByKey(String key) {return allCache.getIfPresent(key);}public void setCacheByKey(String key, String value) {allCache.put(key, value);}public void deleteAllCache() {allCache.invalidateAll();}public void deleteCache(String key) {allCache.invalidate(key);}
}

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

相关文章:

  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Web组件
  • 【Linux】学习-深入了解文件的读与写
  • java实战:销售订单30分钟未支付自动取消
  • 一、西瓜书——绪论
  • 如何连接ChatGPT?无需科学上网,使用官方GPT教程
  • qt学习:串口
  • 145. 二叉树的后序遍历
  • Postgresql 的编译安装与包管理安装, 全发行版 Linux 通用
  • 【Java EE初阶十】多线程进阶二(CAS等)
  • 与AI对话:编写高效Prompt的指南
  • QML用ListView实现带section的GridView
  • docker之程序镜像的制作
  • Git - 每次 git pull/push 时需要账号和密码解决方案
  • C语言中在main函数之后运行的函数
  • pytorch训练指标记录之tensoboard,wandb
  • C语言——oj刷题——实现字符串逆序
  • 空气质量预测 | Matlab实现基于SVR支持向量机回归的空气质量预测模型
  • Vue中的请求拦截器
  • Java奠基】对象数组练习
  • 排序算法---快速排序
  • 算法||实现典型数据结构的查找、添加和删除数据 并分析其时间和空间复杂度
  • 【蓝桥杯冲冲冲】Invasion of the Milkweed G
  • 【JAVA WEB】 百度热榜实现 新闻页面 Chrome 调试工具
  • Linux——动静态库
  • Vulnhub靶机:hacksudo-search
  • Leetcode 188 买卖股票的最佳时机 IV
  • win32编程系统BUG(Win32 API中的WM_SETTEXT消息)
  • Linux防火墙开放
  • 通过 docker-compose 部署 Flink
  • HarmonyOS ArkTS修改App的默认加载的界面(二十)