204. jetcache:在Spring Boot中怎么玩?

【视频&交流平台】
àSpringBoot视频:http://t.cn/R3QepWG
à SpringCloud视频:http://t.cn/R3QeRZc
à Spring Boot源码:https://gitee.com/happyangellxq520/spring-boot
à Spring Boot交流平台:http://412887952-qq-com.iteye.com/blog/2321532
说明
(1)Spring Boot 版本:2.0.3.RELEASE
(2)jetcache版本:2.5.2
(3)JDK:1.8
前言
在前面我们对jetcache有了简单的了解,那么怎么在Spring Boot中进行使用,这才是关键。本节文章会简单的介绍下如何在SpringBoot中使用jetcache。
一、基本配置
这里我们以redis进行讲解,对于在SpringBoot中引入jetcache还是很简单。
1.1 pom文件中添加依赖
<dependency>
<groupId>com.alicp.jetcache</groupId>
<artifactId>jetcache-starter-redis</artifactId>
<version>2.5.2</version>
</dependency>
以上添加了jetcache redis的依赖,这样就能使用jetcache操作redis了。
1.2 添加配置
在application.properties添加如下配置:
###jetcache
jetcache.statIntervalMinutes=15
jetcache.areaInCacheName=false
jetcache.local.default.type=linkedhashmap
jetcache.local.default.keyConvertor=fastjson
jetcache.remote.default.type=redis
jetcache.remote.default.keyConvertor=fastjson
jetcache.remote.default.valueEncoder=java
jetcache.remote.default.valueDecoder=java
jetcache.remote.default.poolConfig.minIdle=5
jetcache.remote.default.poolConfig.maxIdle=20
jetcache.remote.default.poolConfig.maxTotal=50
jetcache.remote.default.host=127.0.0.1
jetcache.remote.default.port=6379
这里对jetcache进行了配置,我们不需要单独在配置redis了。
1.3 激活Cached和CreateCache注解
在启动类中添加两个注解@EnableMethodCache和@EnableCreateCacheAnnotation,这两个注解分别激活Cached和CreateCache注解:
@SpringBootApplication
@EnableMethodCache(basePackages = "com.kfit.jetcache")
@EnableCreateCacheAnnotation
public class Springboot2JetcacheApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot2JetcacheApplication.class, args);
}
}
到这里配置的地方就ok了,接下来就是具体的使用环节了。
二、使用方式
2.1 创建缓存实例
通过@CreateCache注解创建一个缓存实例:
@CreateCache
private Cache<Long,ArticleType> cache;
用起来就像map一样:
//ready for entity.
ArticleType articleType = new ArticleType();
articleType.setId(100L);
articleType.setName("小说");
//set to cache.
cache.put(articleType.getId(), articleType);
//get from cache
articleType = cache.get(articleType.getId());
//remove from cache
cache.remove(articleType.getId());
那么这个生成的key的name是:
c.k.j.d.c.TestCacheInstanceController.cache100
那么如何自定义key的名称呢?这个下节在讲jetcache小技巧的时候统一进行讲解。
2.2 创建方法缓存
使用@Cached方法可以为一个方法添加上缓存。JetCache通过Spring AOP生成代理,来支持缓存功能。注解可以加在接口方法上也可以加在类方法上,但需要保证是个Spring bean:
@Cached
public ArticleType getById(long id) {
ArticleType articleType = new ArticleType();
articleType.setId(id);
articleType.setName("视频-"+id);
return articleType;
}
这个默认生成的redis的name是:
c.k.j.d.s.ArticleTypeService.getById(J)[102]
本文只是介绍了最基本的使用姿势,今天连走带跑了20公里,有点迷糊了,明天接着写,jetcache使用过程中的小技巧。
历史相关文章:
微信公众号「SpringBoot」最近更新:
210. Spring Boot WebFlux:概念篇
Java8新特性:Stream:实战篇
为了更勇敢,你可以害怕@一禅小和尚
Java8新特性:Stream:基础篇
Java8新特性:方法引用
209. SpringBoot quartz:sqlserver启动只有 DECLARE CURSOR 才允许使用...
风口之上,我是那头猪嘛?
Java8新特性:Lambda表达式: 摸摸里面
Java8新特性:Lambda表达式:过关斩将:使用场景
Java8新特性:Lambda表达式:小试牛刀
下雨天,适合学「Spring Boot」
Java8新特性:接口的默认方法
208. Spring Boot Swagger2:排序 – 漂游记
207. Spring Boot Swagger2:极简方式
我读的书很多,但都没有你好看【一禅录】
206. Spring Boot 2.0 Swagger2:使用
205. Spring Boot 2.0 Swagger2:初识Swagger
当要离开的时候,我却动情了
205. jetcache:你需要知道的小技巧
204. jetcache:在Spring Boot中怎么玩?
搜索「springboot」或者扫描以下二维码即可关注:

204. jetcache:在Spring Boot中怎么玩?的更多相关文章
- 201. Spring Boot JNDI:Spring Boot中怎么玩JNDI
[视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源 ...
- jetcache:在Spring Boot中怎么玩?
- 必须知道的Spring Boot中的一些Controller注解
这篇文章是抄其他人的,原址:https://cloud.tencent.com/developer/article/1082720 本文旨在向你介绍在Spring Boot中controller中最基 ...
- spring boot 中 Cache 的使用
参考:https://blog.csdn.net/qq_38974634/article/details/80650810 一.JSR107 Java Caching 定义5个核心的接口,分别是Cac ...
- spring boot(三):Spring Boot中Redis的使用
spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...
- Spring Boot中的事务管理
原文 http://blog.didispace.com/springboottransactional/ 什么是事务? 我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合 ...
- Spring Boot中的注解
文章来源:http://www.tuicool.com/articles/bQnMra 在Spring Boot中几乎可以完全弃用xml配置文件,本文的主题是分析常用的注解. Spring最开始是为了 ...
- 在Spring Boot中使用Https
本文介绍如何在Spring Boot中,使用Https提供服务,并将Http请求自动重定向到Https. Https证书 巧妇难为无米之炊,开始的开始,要先取得Https证书.你可以向证书机构申请证书 ...
- Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
随机推荐
- 最简单的操作 jetty IDEA 【debug】热加载
[博客园cnblogs笔者m-yb原创,转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] http ...
- setfacl语法2
setfacl命令可以用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,setfacl可以更精 ...
- c#的默认访问权限
1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员. internal : 同一程序集中的任何代码都可以访问该类型或成员, ...
- 关于IT行业加班的问题
众所周知,所有行业中,IT行业加班最为严重,国内比较大的IT公司都有加班文化. 为什么要加班?有的时候加班是为了项目上线,因为正在运行的项目,在晚上的时候访问量是最小的,这个时候做系统更新是损失最小的 ...
- HTML <form> action 属性
当提交表单时,发送表单数据到名为 "demo_form.html" 的文件(处理输入): <form action="demo_form.html" me ...
- [LeetCode&Python] Problem 925. Long Pressed Name
Your friend is typing his name into a keyboard. Sometimes, when typing a character c, the key might ...
- 2018 vue前端面试题
1.active-class是哪个组件的属性?嵌套路由怎么定义?答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答: ...
- Js高级 部分内容 面向对象
1.单列模式 2.工厂模式 3.构造函数 (1)类 js天生自带的类 Object基类 Function Array String Number Math Date Boolean Regex ...
- python 常用的模块
面试的过程中经常被问到使用过那些python模块,然后我大脑就出现了一片空白各种模块一顿说,其实一点顺序也没有然后给面试官造成的印象就是自己是否真实的用到这些模块,所以总结下自己实际工作中常用的模块: ...
- 第二章 C#语法基础(2.1C#语言的数据类型二)
数据类型案例说明 一.数据类型与变量(计算整数10与20的和) namespace ConsoleApp1 { class Program { static void Main(string[] ar ...