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.mzph.cn/news/671834.shtml

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

相关文章

开源软件:引领技术创新、商业模式与安全的融合

序 在信息技术日新月异的今天&#xff0c;开源软件以其独特的魅力和影响力&#xff0c;正逐渐成为软件产业的新常态。开源软件的低成本、高度可协作性和透明度等特点&#xff0c;不仅吸引了无数企业和个人用户的青睐&#xff0c;更为软件行业带来了前所未有的繁荣景象。 一、…

复旦微 zynq amp cpu0 唤醒启动cpu1

1 配置多核amp工程&#xff0c;参考上一篇文章 https://blog.csdn.net/yangchenglin927/article/details/136057534 2 在cpu0的main函数中增加唤醒代码 active_cpu1(); /** helloworld.c: simple test application** This application configures UART 16550 to baud rate 96…

Flink SQL Client 安装各类 Connector、Format 组件的方法汇总(持续更新中....)

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

DAY43:背包问题提升1049、494、474

Leetcode: 1049 最后一块石头的重量 II 这道题和昨天的最后一道题很像&#xff0c;都是重量和价值一样等于stone[i]。 本质思想是尽量将石头分成相似的两堆。如果出现两堆价值一样&#xff0c;那0&#xff0c;如果不一样&#xff0c;就用大的那堆减去小的那堆就是最后相撞之后…

数据结构——D/二叉树

&#x1f308;个人主页&#xff1a;慢了半拍 &#x1f525; 创作专栏&#xff1a;《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》 &#x1f3c6;我的格言&#xff1a;一切只是时间问题。 ​ 1.树概念及结构 1.1树的概念 树是一种非线性的…

【Android辟邪】之:gradle——在项目间共享依赖关系版本

翻译和简单修改自&#xff1a;https://docs.gradle.org/current/userguide/platforms.html#sec:sharing-catalogs 建议看原文&#xff08;有能力的话&#xff09; 现在 Gradle 脚本可以使用两种语法编写&#xff1a;Kotlin 和 Groovy 本文只使用kotlin脚本语法&#xff0c;更…

10.0 Zookeeper 权限控制 ACL

zookeeper 的 ACL&#xff08;Access Control List&#xff0c;访问控制表&#xff09;权限在生产环境是特别重要的&#xff0c;所以本章节特别介绍一下。 ACL 权限可以针对节点设置相关读写等权限&#xff0c;保障数据安全性。 permissions 可以指定不同的权限范围及角色。 …

人工智能:数据分析之数据预处理、分析模型与可视化

在人工智能和数据科学领域&#xff0c;数据分析是一种核心过程&#xff0c;它帮助我们从大量的数据中提取有价值的信息。数据分析的质量和结果直接影响到决策的效率和准确性。在这篇博客中&#xff0c;我们将详细探讨数据分析的关键步骤&#xff0c;包括数据预处理、分析模型和…

Oracle 面试题 | 15.精选Oracle高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

AR人脸106240点位检测解决方案

美摄科技针对企业需求推出了AR人脸106/240点位检测解决方案&#xff0c;为企业提供高效、精准的人脸识别服务&#xff0c;采用先进的人脸识别算法和机器学习技术&#xff0c;通过高精度、高速度的检测设备&#xff0c;对人脸进行快速、准确地定位和识别。该方案适用于各种应用场…

Backtrader 文档学习- Observers - Benchmarking

Backtrader 文档学习- Observers - Benchmarking 1.概述 backtrader包括两种不同类型的对象&#xff0c;可以帮助跟踪&#xff1a; Observers 观察者Analyzers 分析器 在分析器领域中&#xff0c;已有TimeReturn对象&#xff0c;用于跟踪整个组合价值&#xff08;即包括现金…

黑马Java——集合进阶(List、Set、泛型、树)

一、集合的体系结构 1、单列集合&#xff08;Collection&#xff09; 二、Collection集合 1、Collection常见方法 1.1代码实现&#xff1a; import java.util.ArrayList; import java.util.Collection;public class A01_CollectionDemo1 {public static void main(String[] a…

Token、CAS、JWT和OAuth 2.0认证系统认证中心系统设计对比与实践总结

在现代应用开发中&#xff0c;身份认证是一个关键的问题。为了解决身份认证的需求&#xff0c;开发人员可以选择不同的认证系统&#xff0c;如Token、CAS&#xff08;Central Authentication Service&#xff09;和JWT&#xff08;JSON Web Token&#xff09;OAuth 2.0认证系统…

大厂聚合支付系统架构演进(上)

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都国企技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区…

1.0 Zookeeper 分布式配置服务教程

ZooKeeper 是 Apache 软件基金会的一个软件项目&#xff0c;它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 ZooKeeper 的架构通过冗余服务实现高可用性。 Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来&#xff0c;构成一个高…

C++的缺省参数和函数重载

目录 1.缺省参数 1.1缺省参数的概念 1.2缺省参数的分类 1.3缺省参数使用场景 2.函数重载 2.1函数重载的概念 2.2构成函数重载 1.缺省参数 1.1缺省参数的概念 概念&#xff1a;缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没…

GPTs保姆级教程之实践

GPTs什么 使用GPTs的前提&#xff1a;ChatGPT Plus帐号 GTPs的作用&#xff1a;把我们和GPT对话的prompt&#xff0c;封装起来成为一个“黑匣子”。 主要有两个作用&#xff1a; 1、避免反复输入prompt&#xff0c;“黑匣子”打开&#xff0c;输入问题即可使用 2、在别人可以…

pycharm deployment 灰色 一直无法点击

我的development的配置如下&#xff0c;我看了很多教程一直不知道为什么一直是灰色的&#xff0c; 文件夹配置&#xff1a; 如果你这里 Autodect&#xff0c;那么你Mapping 的文件夹应该是应该省略这个前缀的&#xff0c;例如我下面&#xff0c;我应该将本地文件夹映射到/home…

项目经理怎么处理客户提出的不合理请求?

一、客户不合理请求的定义和特点 客户不合理请求是指客户在项目执行过程中提出的与项目需求、合同约定或者实际情况不符的要求&#xff0c;通常表现为追加要求、频繁的变更、过度的要求等。这些请求可能会导致项目范围膨胀、成本增加、工期延长、甚至影响项目进度和质量。客户…

(29)最小偶倍数

文章目录 每日一言题目解题思路代码结语 每日一言 读书时&#xff0c;我愿在每一个美好思想的面前停留&#xff0c;就像在每一条真理面前停留一样。——爱默生 题目 题目链接&#xff1a;最小偶倍数 给你一个正整数 n &#xff0c;返回 2 和 n 的最小公倍数&#xff08;正整…