Spring Boot ---- 缓存相关

Cache 缓存

引入缓存依赖

<!-- 引入 Spring 缓存依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

注解

名称 解释
Cache 缓存接口,定义缓存操作
CacheManager 缓存管理器,管理各种缓存组件
@Cacheable 缓存注解(方法调用前生效)
@CacheEvict 清空缓存(默认方法调用后)
@CachePut 调用方法后更新缓存
@EnableCaching 开启基于注解的缓存(在SpringBoot启动类上使用)
@CacheConfig 统一配置本类的缓存注解的属性(类前使用)
@Caching 组合多个Cache注解
keyGenerator 缓存数据时key生成策略
serialize 缓存数据时value序列化策略

@Cacheable/@CacheEvict/@CachePut 主要参数

名称 解释
cacheNames/value 缓存空间名称(可指定多个)
key 使用SpEL表达式指定key规则(默认组合所有参数)
condition 缓存条件(true则缓存)
unless 否定缓存条件(true则不缓存)
allEntries(@CacheEvict ) 是否全部清空(默认false)
beforeInvocation(@CacheEvict ) 执行方法前清空(默认false)

SpEL 上下文数据

名称 位置 描述 示例
methodName root 方法名 #root.methodName
method root 方法 #root.method.name
target root 对象实例 #root.target
targetClass root 对象的类 #root.targetClass
args root 参数列表 #root.args[0]
caches root 缓存列表 #root.cache[0].name
argumentname 上下文 参数名或a0/p0 #id、#a0、#p0
result 上下文 返回值 #result

root 对象可省略,Spring 默认使用 root 对象的属性

整合 Redis

redis 默认安装完毕

引入依赖

<!-- 引入 Redis 依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

配置redis

spring:
	redis:
		host:xxx.xx.xx.xxx

编写测试类

@SpringBootTest
public class Test {
    @Autowired
    UserMapper userMapper;

    @Autowired
    StringRedisTemplate stringRedisTemplate; // k-v都是字符串的

    @Autowired
    RedisTemplate redisTemplate; // k-v都是对象
    /**
     * 常见数据类型
     * String、list、set、hash、zset
     * stringRedisTemplate.opsForValue() ---- 字符串
     * stringRedisTemplate.opsForList() ---- 列表
     * stringRedisTemplate.opsForSet() ---- 集合
     * stringRedisTemplate.opsForHash ---- 散列
     * stringRedisTemplate.opsForZSet ---- 有序集合
     */
    @Test
    public void test() {
        /**
         * stringRedisTempalte.opsForValue().xxx();
         */
        // 保存
        stringRedisTemplate.opsForValue().append("mas", "hello");
        // 取出
        stringRedisTemplate.opsForValue().get("msg");
    }
}

Redis 命令参考Redis 命令

原文地址:https://www.cnblogs.com/qq188380780/p/12602465.html

时间: 2024-10-04 21:02:06

Spring Boot ---- 缓存相关的相关文章

Spring Boot缓存应用实践

缓存是最直接有效提升系统性能的手段之一.个人认为用好用对缓存是优秀程序员的必备基本素质. 本文结合实际开发经验,从简单概念原理和代码入手,一步一步搭建一个简单的二级缓存系统. 一.通用缓存接口 1.缓存基础算法 (1).FIFO(First In First Out),先进先出,和OS里的FIFO思路相同,如果一个数据最先进入缓存中,当缓存满的时候,应当把最先进入缓存的数据给移除掉.(2).LFU(Least Frequently Used),最不经常使用,如果一个数据在最近一段时间内使用次数很

Spring Boot 缓存的基本用法

目录 一.目的 二.JSR-107 缓存规范 三.Spring 缓存抽象 四.Demo 1.使用 IDEA 创建 Spring Boot 项目 2.创建相应的数据表 3.创建 Java Bean 封装数据 4.整合 MyBatis 1.配置数据源信息 2.使用注解版 MyBatis 5.实现 Web 访问 6.缓存初体验 7.使用 redis 缓存中间件 1.使用 docker 安装 redis(阿里云服务器) 2.使用 Redis Desktop Manager 连接阿里云服务器 3.引入 r

Spring Boot缓存注解@Cacheable、@CacheEvict、@CachePut使用

从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对事务管理的支持.Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回.所以在使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相同的返回结果. 使用Spring Cache需要我们做两方面的事:      

【spring boot】spring boot @ConditionalOnxxx相关注解总结

参考地址:https://blog.csdn.net/win7system/article/details/54377471 使用场景:在自动解析封装配置文件中的配置完成自动注入spring的时候 例如rocketMQ相关配置 例如Druid相关配置 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/9341197.html

Spring Boot 集成 Ehcache 缓存,三步搞定!

本次内容主要介绍基于Ehcache 3.0来快速实现Spring Boot应用程序的数据缓存功能.在Spring Boot应用程序中,我们可以通过Spring Caching来快速搞定数据缓存. 接下来我们将介绍如何在三步之内搞定 Spring Boot 缓存. 1. 创建一个Spring Boot工程 你所创建的Spring Boot应用程序的maven依赖文件至少应该是下面的样子: <?xml version="1.0" encoding="UTF-8"?

spring boot应用启动原理分析

spring boot quick start 在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个Web Server. 如果之前没有使用过spring boot可以通过下面的demo来感受下. 下面以这个工程为例,演示如何启动Spring boot项目: git clone [email protected]:hengyunabc/spring-boot-demo.git mvn spring-b

Spring Boot 基础概述

上半年一直忙于工作,没有太多的时间去写文字,期间也比较关注 .net core 的发展,比较看好 asp.net core 的 OO 抽象设计,也参考了abp.zero 的设计.其实大多数情况平常的工作主要还是结合一些理论与技术框架快速实现:个人的时间就是成本,最近打算整理下 Spring Boot  的相关知识,也算是多一种选择吧 . 概述与目录 对于学习新的知识,我认为最快的方式就是先过一遍官方的文档,这一步很重要:后面再结合实际情况的运用就好了.所以我罗列了一些目录,应该覆盖了大多数的运用

IDEA创建spring boot项目

打开IntelliJ IDEA,在菜单栏选择File菜单-->New-->Project...-->Spring Initializr,Project SDK即选择JDK的版本,Choose Initializer Service URL选择Default:http://start.spring.io. 在接下来的页面我们创建一个Maven项目,如果有朋友对Maven不了解的话,可以参考网上的很多教程,这里不再详述了,我们在下图页面中填写项目相关的信息,接下来选择项目需要的依赖,我们在这

spring boot 加载原理

spring boot quick start 在springBoot里面,很吸引的一个特征就是可以直接把应用打包成jar/war包形式.然后jar/war包可以直接运行的.不需要再配置web Server spring boot应用启动流程总结 1.Sprint Boot应用打包之后,生成了一个fat jar,里面包含了应用依赖的jar包,还有Spring boot leader相关的类. 原文地址:https://www.cnblogs.com/jacksonxiao/p/8157672.h