springboot Redis 缓存

可以使用内存作为缓存,也可以使用 Redis 作为缓存,内存的弊端是集群的多个实例不发同步

1,添加依赖

<dependency>
         <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2,配置文件中配置 Redis 数据源

spring.cache.redis.time-to-live:3600s  # 默认不过期,设置一个时间表示过期时间
redis.host=localhost # ip
redis.port=6379 # 端口
redis.jedis.pool.max-active=5 # 连接池
redis.jedis.pool.max-idle=10
redis.jedis.pool.max-wait=10000

3,启动类添加 @EnableCaching 注解

4,在方法上添加 @Cacheable/@CacheEvict/@CachePut 注解或在类上添加 @CacheConfig 注解

@Cacheable 获取缓存(不运行方法),如果没有就运行方法取得并把值放入缓存
@CacheEvict 删除缓存(这个方法每次都会执行,然后去通过方法的返回值去查,有就删除)
@CachePut 更新缓存(这个方法也是每次都执行,通过方法返回值去查,如果有就更新,没有就添加)
@CacheConfig 这个是写在类上面的,用于简化上面3个注解

示例:

示例1:
@Cacheable(cacheNames="user", key="#id")
public User getUserById(int id){}
示例2:
@CachePut(cacheNames="user", key="#user.id")
public User updateUserById(User user){}
示例3:
@CacheEvict(cacheNames="user")
public User deleteUserById(int id){}
// 如果参数是基本类型,那么 key 默认就是他,比如 示例3 中没有写 key,其实和 示例1 是一样的
示例4:
@CacheConfig("user")
public class UserService{
  @Cacheable
  public User getUserById(int id){}
  @CachePut(key="#user.id")
   public User updateUserById(User user){}
}

注意:和异步执行类似,只能在外部调用才会生效

原文地址:https://www.cnblogs.com/huanggy/p/9473822.html

时间: 2024-10-24 02:25:18

springboot Redis 缓存的相关文章

springboot redis 缓存对象

只要加入spring-boot-starter-data-redis , springboot 会自动识别并使用redis作为缓存容器,使用方式如下 gradle加入依赖 compile("org.springframework.boot:spring-boot-starter-data-redis:${springBootVersion}") redis configuration 中启用缓存 @Configuration @EnableCaching public class Re

SpringBoot使用Redis缓存

(1)pom.xml引入jar包,如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> (2)application.properties中配置Redis连接信息,如下: # Redis数据库索引(默认为0) spring.red

SpringBoot集成Redis分布式锁以及Redis缓存

https://blog.csdn.net/qq_26525215/article/details/79182687 集成Redis 首先在pom.xml中加入需要的redis依赖和缓存依赖 <!-- 引入redis依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifa

SpringBoot整合redis缓存(一)

准备工作 1.Linux系统 2.安装redis(也可以安装docker,然后再docker中装redis,本文章就直接用Linux安装redis做演示) redis下载地址:http://download.redis.io/releases/redis-4.0.14.tar.gz 修改redis,开启远程访问 找到redis中的redis.conf文件并编辑(在安装路径中找到) vim ./redis.conf 1.找到bind 127.0.0.1并注释掉 默认127.0.0.1只能本地访问,

springboot整合redis缓存一些知识点

前言 最近在做智能家居平台,考虑到家居的控制需要快速的响应于是打算使用redis缓存.一方面减少数据库压力另一方面又能提高响应速度.项目中使用的技术栈基本上都是大家熟悉的springboot全家桶,在springboot2.x以后操作redis的客户端推荐使用lettuce(生菜)取代jedis. jedis的劣势主要在于直连redis,又无法做到弹性收缩. 一.配置文件 application.yml文件中的内容 spring: application: name: simple-lettuc

SpringBoot整合Shiro 集成Redis缓存(六)

简介:由于考虑到项目后期分布式部署,所以缓存由ehcache改为redis,而redis既有单机版部署,也有分布式部署,所以二者需要兼容. 1. maven依赖 <dependency> <groupId>org.crazycake</groupId> <artifactId>shiro-redis</artifactId> <version>3.1.0</version> </dependency> 2. 设

spring boot 使用redis缓存

感谢大神分享! https://www.cnblogs.com/gdpuzxs/p/7222309.html (1)pom.xml引入jar包,如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> (2)修改项目启动类,增加注解@

spring-boot-2.0.3之redis缓存实现,不是你想的那样哦

前言 开心一刻 小白问小明:"你前面有一个5米深的坑,里面没有水,如果你跳进去后该怎样出来了?"小明:"躺着出来呗,还能怎么出来?"小白:"为什么躺着出来?"小明:"5米深的坑,还没有水,跳下去不死就很幸运了,残是肯定会残的,不躺着出来,那能怎么出来?"小白:"假设没死也没残呢?"小明:"你当我超人了? 那也简单,把脑子里的水放出来就可以漂出来了."小白:"你脑子里有这么多水吗

带着新人学springboot的应用01(springboot+mybatis+缓存 下)

springboot+mybatis+缓存,基本的用法想必是会了,现在说一说内部大概的原理. 稍微提一下mybatis,只要导入了mybatis的依赖,那么有个自动配置类就会生效,你可以去mybatis的jar包里面的META-INF/spring.factories中看到这个xxxAutoConfiguration,就如下图所示,这个应该很熟悉了,所以我们要看看mybatis的配置,肯定要看这个类. 开这个类,看到这里 看了看,其他的没什么说的,要看看在yml给mybatis可以配置哪些参数,