• 【JetCache】JetCache的使用方法与步骤


    本文目录

    一、背景描述

    二、JetCache特点与要求

    2.1 JetCache的特点

    2.2 JetCache的要求

    三、使用步骤

    3.1 引入依赖

    3.2 application.yml配置

    3.3 启动类注解

    3.4 方法上添加注解

     四、依赖哪个Jar?


    一、背景描述

     今天来介绍一下由 Alibaba 开源的一款缓存框架 JetCache。其号称比 Spring Cache 用起来更加好用,在我使用之后发现确实比较好用,步骤也非常简单。

    JetCache 是一个基于Java 的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache 提供了比 SpringCache 更加强大的注解,可以原生的支持 TTL、两级缓存、分布式自动刷新,还提供了 Cache 接口用于手工缓存操作。 当前有四个实现,RedisCacheTairCache(此部分未在github开源)、CaffeineCache(in memory)和一个简易的LinkedHashMapCache(in memory),要添加新的实现也是非常简单的。

     

    二、JetCache特点与要求

    2.1 JetCache的特点

    以下简单描述一下JetCache的特点,方便在使用之前做些简单的了解:

    • 通过一致的 Cache API 操作缓存。
    • 在方法上面使用注解,就可以实现 TTL 和两级缓存。
    • 使用注释创建和配置 Cache 实例。
    • 自动收集 Cache 实例和方法缓存的访问统计信息。
    • key 生成和 value 序列化的策略可以定制。
    • 分布式缓存自动刷新和分布式锁定。(2.2)
    • 使用 Cache API 进行异步访问。(2.2版本以上,redis客户端)
    • 支持 Spring Boot。

    2.2 JetCache的要求

    • JetCache需要JDK1.8、Spring Framework4.0.8以上版本。
    • Spring Boot为可选,需要1.1.9以上版本。
    • 如果不使用注解(仅使用jetcache-core),Spring Framework也是可选的,此时使用方式与Guava/Caffeine cache类似。

    三、使用步骤

    使用步骤以 spring boot 项目为例:

    3.1 引入依赖

    现在目前最新的版本是 2.7.0.M1,以后还会继续更新,如果想使用最新版本的可以去 maven 的中央仓库下载哈

    1. <!-- jet cache-->
    2. <dependency>
    3. <groupId>com.alicp.jetcache</groupId>
    4. <artifactId>jetcache-starter-redis</artifactId>
    5. <version>2.7.0.M1</version>
    6. </dependency>

    3.2 application.yml配置

    先来张图记录一下配置,当然也可以直接从图下面的配置里粘贴,哈哈

    如果想直接复制粘贴的话,从下面的文本框中 cv 一下(记得修改redis的地址和用户名密码哈)即可。

    1. jetcache:
    2. statIntervalMinutes: 15
    3. areaInCacheName: false
    4. local:
    5. default:
    6. type: linkedhashmap
    7. keyConvertor: fastjson
    8. limit: 1000
    9. remote:
    10. default:
    11. type: redis
    12. keyConvertor: fastjson
    13. valueEncoder: java
    14. valueDecoder: java
    15. poolConfig:
    16. minIdle: 5
    17. maxIdle: 20
    18. maxTotal: 50
    19. database: 16 # 连接工厂使用的数据库索引
    20. host: xxx # 此处需要修改哈
    21. port: xxx # 此处需要修改哈
    22. password: xxx # 此处需要修改哈

    3.3 启动类注解

    @EnableMethodCache(basePackages = "com.iot.back.message")

    3.4 方法上添加注解

    expire表示返回值User对象,将在3600秒后过期,JetCache默认使用所有入参生成缓存的key。

     四、依赖哪个Jar?

    • jetcache-anno-api:定义jetcache的注解和常量,不传递依赖。如果你想把Cached注解加到接口上,又不希望你的接口jar传递太多依赖,可以让接口jar依赖jetcache-anno-api。
    • jetcache-core:核心api,完全通过编程来配置操作Cache,不依赖Spring。两个内存中的缓存实现LinkedHashMapCache和CaffeineCache也由它提供。
    • jetcache-anno:基于Spring提供@Cached和@CreateCache注解支持。
    • jetcache-redis:使用jedis提供Redis支持。
    • jetcache-redis-lettuce(需要JetCache2.3以上版本):使用lettuce提供Redis支持,实现了JetCache异步访问缓存的的接口。
    • jetcache-starter-redis:Spring Boot方式的Starter,基于Jedis。
    • jetcache-starter-redis-lettuce(需要JetCache2.3以上版本):Spring Boot方式的Starter,基于Lettuce。

    参考文档:《JetCache官方文档》

    完结!

  • 相关阅读:
    wordpress的lnmp环境一键安装和手工配置
    如何通用系统平台这个黑科技把网店做大,需要注意什么?
    如何使用 PyQt 加载图片资源?
    【JVM笔记】导出内存映像(dump)文件
    Dubbo(二)Dubbo和ZooKeeper的协同工作原理
    2023校招4399面试
    jvm04
    丛林探险问题
    C++核心编程--继承篇
    TypeScript学习笔记
  • 原文地址:https://blog.csdn.net/weixin_44299027/article/details/125559446