JVM进程缓存Caffeine

这篇具有很好参考价值的文章主要介绍了JVM进程缓存Caffeine。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导入坐标:

<dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
        </dependency>

写一个配置类:

@Configuration
public class CaffeineConfig {
    @Bean
    public Cache<String, Object> itemCache(){
        return Caffeine.newBuilder()
                .initialCapacity(100)
                .maximumSize(10_000) // 设置缓存大小上限
                .expireAfterWrite(Duration.ofSeconds(10)) //设置缓存的有效时间
                .build();
    }
}

注入bean

 @Autowired
    private Cache<String, Object> itemCache;

// 取数据,包含两个参数:
// 参数一:缓存的key
// 参数二:Lambda表达式,表达式参数就是缓存的key,方法体是查询数据库的逻辑
// 优先根据key查询JVM缓存,如果未命中,则执行参数二的Lambda表达式

    @GetMapping("{id}")
    public @Nullable Score queryById(@PathVariable("id") String id) {

       return (Score) itemCache.get(id , key -> scoreService.queryById(key));
//        return ResponseEntity.ok(this.scoreService.queryById(id));
    }

增删改都要清除缓存文章来源地址https://www.toymoban.com/news/detail-505375.html

移除指定的key
cache.invalidate(key)
移除指定的key列表
cache.invalidateAll(keys)
移除全部key(推荐)
**cache.invalidateAll()**
 @PostMapping
    public ResponseEntity<Score> add(Score score) {
        itemCache.invalidateAll();
        return ResponseEntity.ok(this.scoreService.insert(score));
    }

到了这里,关于JVM进程缓存Caffeine的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Spring管理Caffeine缓存(CacheManager+Caffeine)

    使用Spring管理Caffeine缓存的主要pom依赖如下所示。 CacheManager配置类如下所示。 使用Caffeine在本地缓存查询结果,使用案例如下所示。 (1)关于maximumSize 当首次设置缓存并尝试存入的数据量大于设置的maximumSize时,Caffeine不会直接报错。但是,当尝试将新数据添加到已满的缓存

    2024年01月19日
    浏览(37)
  • 实现本地缓存-caffeine

    目录 实现caffeine cache CacheManager Caffeine配置说明 创建自定义配置类 配置缓存管理器 编写自动提示配置文件 测试使用 创建测试配置实体类 创建测试配置类 创建注解扫描的测试实体 创建单元测试类进行测试 实现caffeine cache CacheManager SimpleCacheManager: 这种缓存管理器允许你在应

    2024年02月17日
    浏览(38)
  • Caffeine本地缓存

    简单说,Caffine 是一款高性能的本地缓存组件 由下面三幅图可见:不管在并发读、并发写还是并发读写的场景下,Caffeine 的性能都大幅领先于其他本地开源缓存组件 它是优先淘汰掉最先缓存的数据、是最简单的淘汰算法。 缺点是如果先缓存的数据使用频率比较高的话,那么

    2024年02月09日
    浏览(43)
  • 地表最帅缓存Caffeine

    缓存是程序员们绕不开的话题,像是常用的本地缓存Guava,分布式缓存Redis等,是提供高性能服务的基础。今天敬姐带大家一起认识一个更高效的本地缓存—— Caffeine 。 Caffeine Cache使用了基于内存的存储策略,并且支持高并发、低延迟,同时还提供了缓存过期、定时刷新、缓存

    2024年02月10日
    浏览(54)
  • 缓存 - Caffeine 不完全指北

    https://github.com/ben-manes/caffeine wiki: https://github.com/ben-manes/caffeine/wiki Caffeine是一个用于Java应用程序的高性能缓存框架。它提供了一个强大且易于使用的缓存库,可以在应用程序中使用,以提高数据访问的速度和效率。 下面是一些Caffeine缓存框架的主要特点: 高性能:Caffeine的设

    2024年02月16日
    浏览(45)
  • java缓存框架Caffeine详解

    缓存在日常开发中启动至关重要的作用,基本是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力,本文主要介绍了本地缓存Caffeine基本配置与基本用法,通过阅读本文,你将了解什么是Caffeine,如何使用Caffeine。 1.1 什么是本地缓存

    2024年02月13日
    浏览(28)
  • SpringBoot使用Caffeine实现内存缓存

    一、引入依赖 caffeine提供了四种缓存策略:分别为手动加载、自动加载、异步手动加载、异步自动加载。 二、手动加载 时间: expireAfterWrite: 基于写入时间 expireAfterAccess:基于访问时间 expireAfter:可以根据读更新写入来调整有效期 权重: maximumWeight:基于权重的容量策略,主要应

    2024年02月07日
    浏览(33)
  • 本地缓存无冕之王Caffeine Cache

    本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 目录 淘汰算法 Cache类型 Cache Loading Cache Async Cache Async Loading Cache 驱逐策略 基于大小的过期方式 基于时间的过期方式 基于引用的过期方式 写入外部存储

    2024年02月08日
    浏览(37)
  • Spring Framework 提供缓存管理器Caffeine

    Spring Framework 提供了一个名为 Caffeine 的缓存管理器。Caffeine 是一个基于 Java 的高性能缓存库,被广泛用于处理大规模缓存数据。 使用 Caffeine 缓存管理器,可以轻松地在 Spring 应用程序中添加缓存功能。它提供了以下主要特性: 快速响应:Caffeine 使用内存作为缓存存储,相较

    2024年02月15日
    浏览(37)
  • springBoot集成caffeine,自定义缓存配置 CacheManager

    目录 springboot集成caffeine Maven依赖 配置信息:properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager Caffeine是一种基于 服务器内存的缓存库 。它将数据存储在应用程序的内存中,以实现快速的数据访问和高性能。 由于Caffei

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包