springboot整合使用spring-data-redis作简单缓存

深入Spring Boot :整合Redis详解 Spring Data Redis是Spring Data项目中的一个主要模块,它提供了从Spring应用程序中轻松配置和访问Redis的功能、提供了与应用交互的低级和高级抽象,使开发者摆脱了对基础结构的关注,例如提供了RedisCacheManager。从Spring3.1开始,Spring框架提供了对Cache的支持,提供了一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种annotation,即能够达到缓存方法的返回对象的作用。添加图片注释,不超过 140 字(可选)... 阅读详情

1、pom文件引入相关依赖(这里只贴出缓存功能所需要的依赖)

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

2.在application.yml中进行配置

#配置redis
spring
  redis:
    #主机地址,即你的redis安装在哪台机器的IP,默认是localhost
    host: localhost
    #连接密码
    password: 445221
    #端口
    port: 6379

3、使用@EnableCaching(表明启用缓存功能,要放在配置类或者主启动类上)

4、如果想要使用自定义的cacheManager,需要自己编写配置类,如下

@Configuration
public class RedisConfig {

    /**
     * 使用自定义的CacheManager
     *
     * @param factory
     * @return
     */
    @Primary
    @Bean
    public CacheManager cacheManager(RedisConnectionFactory factory) {
        RedisCacheWriter writer = RedisCacheWriter.nonLockingRedisCacheWriter(factory);
        //使用JSON序列化器,当缓存对象,会以json的格式存储
        RedisSerializer<Object> serializer = new GenericJackson2JsonRedisSerializer();
        RedisSerializationContext.SerializationPair<Object> pair = RedisSerializationContext.SerializationPair.fromSerializer(serializer);
       //设置缓存过期时间为3600s,即1h
        RedisCacheConfiguration configuration = RedisCacheConfiguration.defaultCacheConfig()
                .serializeValuesWith(pair)
                .entryTtl(Duration.ofSeconds(3600))
                .disableCachingNullValues();
        RedisCacheManager cacheManager = new RedisCacheManager(writer, configuration);
        return cacheManager;
    }
}

5、在方法使用对应的缓存注解,如下

@Service
@Transactional(rollbackFor = Exception.class)
//指定这个类中的缓存名,这样@Cacheable等缓存注解就不用配置缓存名了
@CacheConfig(cacheNames = "userCache")
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    //默认的缓存key为参数名,可以自己设置key属性;
    //每次执行这个方法前都会查询缓存中是否有该对象,如果有,不再执行方法;
    @Cacheable
    public User getByName(String userName) {
        User user = userMapper.getByName(userName);
        return user;
    }
}

PS:2.x版本的配置与1.x版本的配置有所不同,请注意自己使用boot版本,如有错的地方,请指正,谢谢

HTML满屏跳动的爱心(完整代码) HTML语言实现满屏跳动爱心的完整代码。 阅读详情

相关推荐

微信小程序审核避坑指南:巧用 wx.getAccountInfoSync 实现审核与线上环境无感切换

本文详细介绍了如何利用`wx.getAccountInfoSync`API实现微信小程序审核与线上环境的无感切换。通过环境识别技术和动态渲染架构设计,开发者可以优雅解决审核资质门槛问题,同时保持生产环境的完整用户体验。文章包含组件化实现、全局状态管理等实用方案,帮助开发者提升审核通过率。

weixin_30527423的博客 259

Redis-SpringBoot集成Spring Data Redis+Redis整合依赖配置搭建环境(StringRedisTemplate)

一,IDEA新建一个spring boot项目 二,在pom.xml文件添加相关redis依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 添加相关依赖之后,刷新maven库

文文x的博客 1270

MPU6050 加速度计和陀螺仪传感器与 Arduino 的接口

虽然该模型并不能准确代表现实世界中加速度计传感器的构建方式,但它通常有助于理解为什么加速度计的输出信号通常以 ±g 为单位指定,或者为什么加速度计在静止时在 z 轴上的读数为 1g,或者在不同方向上您可以期望得到什么样的加速度计读数。该模块的核心是低功耗、低成本的 6 轴运动跟踪芯片 MPU6050,它将 3 轴陀螺仪、3 轴加速度计和数字运动处理器 (DMP) 集成到一个 4mm x 4mm 的微型芯片中。小时候,科学博览会上的陀螺仪总是让我们感到惊讶,因为它们以奇怪的方式移动,甚至似乎违背了重力。

sxstj的博客 9932

spring-boot-starter-data-redis 和 spring-boot-autoconfigure版本依赖冲突

需要更改spring-data-commons的版本。

qq_36746807的博客 1190

【ROS2】Arduino系列之机器人底盘实现

介绍ros中提供的一个已经封装了的模块: ros_arduino_bridge,该模块由下位机驱动和上位机控制两部分组成,通过该模块可以更为快捷、方便的实现自己的机器人平台

guilin 1483

免安装版Notepad++终极配置:右键菜单+图标美化+多文件批量处理(2024新版)

本文详细介绍了如何为免安装版Notepad++进行终极配置,包括右键菜单添加、图标美化以及多文件批量处理功能。通过注册表编辑和高级定制,用户可以在便携版中实现与安装版相同的功能体验,同时保持系统整洁。特别适合开发者、系统管理员和效率追求者使用。

nut55的博客 830

IDEA 创建 Spring Boot 可选依赖说明

IDEA 创建 Spring Boot 可选依赖说明 一、Developer Tools Spring Native [Experimental] 提供 GraalVM 编译支持,GraalVM 是一个编译器,实验版。 Spring Boot DevTools 提供快速应用程序重启、实时加载和配置。 Lombok 它是一个Java注解库,提供一些有用的注解,例如: @Setter :在类或字段上注解,为字段生成setter方法 @Getter :在类或字段上注解,为字段生成getter方法 @D

a35038438的博客 6154

ADS电路仿真方法综述:原理与应用

在射频与微波电路设计中,精确的仿真技术是验证性能的关键。ADS(Advanced Design System)作为行业标准工具,集成了多种仿真方法,适用于不同场景。本文将系统解析瞬态分析、谐波平衡(HB)、交流分析(AC)、直流分析(DC)、S参数、大信号SP(LSSP)及包络分析的原理、实现机制与应用场景。

u014344410的博客 480

SpringBoot整合Redis

概述 SpringBoot整合Redis通过Spring-Data Redis 说明 在SpringBoot2.x之后,原来使用的Jedis被替换为lettuce。 jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool连接池!更像BIO模式 lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像NIO模式。 ...

抽象的螺旋 314

Windows11配置WSL2支持代理上网

说起来本来这个功能我也不需要的,只是最近突然有个需求就顺便研究了下,WSL2默认的网络方式是NAT,即WSL2的网卡本身是虚拟网卡,通过以太网或WIFI的地址转换来上互联网,我试了下是不能直接走代理的,最近比较忙没具体研究,但是我用另一种方式实现了,下面介绍给需要的人。注意:这个方法只能是WIndows11系统,WIndows10系统上的WSL2缺少了一项功能导致不可用。1、方法总体没什么难度,NAT方式暂时没研究透,后续有时间再研究2、WIndows10系统不支持mirrored,暂时需要另辟蹊径。

jiexijihe945的博客 9589

QT使用libssh2库通过密匙实现sftp协议上传文件

qt下使用libssh2通过密匙连接sftp服务器端

小米的修行之路 937

Spring boot集成redis

一、Spring boot引入redis依赖 Spring boot对redis的支持很好,只需在pom.xml文件中加入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 进入s...

jdk819的博客 1572

Openclaw错误分析与解决方案之:Agent couldn’t generate a response.

Openclaw错误分析与解决方案之:Agent couldn't generate a response. Note: some tool actions may have already been executed — please verify before retrying.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1315

SpringBoot整合Redis并使用Spring缓存注解进行缓存操作

SpringBoot整合Redis依赖: 提示:因为不需要用到自定义模板,所以引入的依赖相对SpringBoot整合Redis并示例使用模板操作来说,要少些。 第一步:在pom.xml中引入Redis相关依赖。 给出本文完整的pom.xml文字版: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http...

JustryDeng 4417

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【SpringBoot】SpringBoot整合Redis(Spring Data Redis)

一、前言:       现在做J2EE开发基本上都用spring全家桶了,由于项目中需要减轻数据库的访问压力,所以考虑添加缓存,之前采用SSM框架的时候对redis进行操作都是用的jedis。其实呢redis的客户端有两种实现方式,一种是调用jedis来实现,二是可以使用spring data redis,通过spring的封装来调用。二、整合      1、添加redis依赖&lt;!--与sp...

柠檬树 8190

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

如何使用Spring Boot框架整合Redis:超详细案例教程

成功在 Spring Boot 项目中整合了 Redis 并配置了连接池。我们使用连接池可以显著提高 Redis 操作的性能和资源管理效率。启动应用程序后,可以选中通过 Postman 或浏览器访问以下 URL,验证 Redis 操作是否成功。保持 Redis 操作类和控制器不变。它们已经实现了基本的 Redis 操作。是用于 Lettuce 连接池配置的依赖。目录下,添加 Redis 连接池的配置。确保你的项目包含了以下依赖。,这里就无需再次添加。类以支持连接池即可。

光就是羁绊之力,它会再度被某人继承,散发出耀眼的光。 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SpringBoot 缓存篇 - 整合 Redis

一、预备知识 1.1 JSR107缓存规范 Java Caching 5个核心接口: CachingProvider:定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。 CacheManager:定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中。一个CacheManager仅被一个CachingProvider所拥有。 Cache:是一个类似Map的数据结构并临时存储

SongYu的博客 1万+

SpringBoot中Spring-data-redis入门使用

SpringBoot中Spring-data-redis入门使用 编者的话 Spring-data-redis是基于Spring框架的redis链接插件,功能强大,简单好用(至少对我这种小白,不深究其原理和强大功能的话,是简单好用的),其和Jedis两者是Spring中常用的操作Redis服务的工具,两者的区别及其优缺点自行百度,我也不会,推荐大佬的博文 JAVA与Redis的结合 这里,小编只是介绍Spring-data-redis的简单使用,其包括引依赖,application.yml中对进行简单配置,

weixin_42510217的博客 3311

SpringBoot整合Spring Data Redis

Redis和MongoDB一样是一个主流的非关系型数据库。 Redis和MongoDB不一样的是Redis没有表的结构(没有创建数据表这个操作),直接以key:value的形式去存储就可以了。 c# 连接Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value:类型搞混弄出的错误 参考文章:https://www.cnblogs.com/Taburensheng/p/6170821.html <dependen

liulang68的博客 1610

SpringBoot 整合 Redis 缓存

把高频查询数据(如用户信息、商品列表)缓存到 Redis,避免每次请求都查数据库,接口响应速度从毫秒级提升到微秒级;:用户信息、商品信息等对象缓存,无需修改整个对象,可单独修改某个字段(如用户昵称、商品库存),节省内存和带宽。:消息队列(简单场景)、最新列表、历史记录(如浏览记录、消息列表),支持从头部、尾部插入/删除数据。:除了缓存,还能实现分布式锁、计数器、限流、消息队列(简单场景)、排行榜等功能;:用户信息、验证码、令牌、单个数值(如计数器),是最基础、最常用的类型。

。。。 1936

SpringBoot整合Redis缓存的方式

Redis重点知识 Redis 是一个高性能的key-value非关系性数据库(NoSql)。 Redis可以存储键与5种不同数据结构类型之间的映射: String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合) Redis 教程 Redis介绍、安装部署、操作 SpringBoot 中使用Redis缓存 方案一:Spring Data Redis <!...

YOUNGljx的博客 320

SpringBoot 中使用Redis缓存

SpringBoot 中使用Redis缓存 在项目中我们访问数据通常的操作就是访问数据库的方式,但是如果访问量很大而且特别频繁会对数据库造成压力,甚至导致数据库直接崩溃。为了解决这类的问题,redis框架逐渐出现在我们的视野里 1.Redis特点 Redis是一个高性能(支持并发11万读8万写)的key-value存储系统。 支持丰富的存储value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。 Redi.

王德昌的博客 2万+

Redis缓存在Springboot中的使用

Redis学习整理

qq_39026874的博客 2407

SpringBoot整合SpringData JPA与Redis缓存

1、使用idea 工具新建一个springboot工程 2、选中Web模块和SQL模块需要使用的启动器 3、新建好的项目选中idea的自动导包功能,idea将会自动为我们下载所依赖的maven包 4、使用docker启动一下mysql与redis容器 5、配置springboot的属性文件application.yml(配置application.properties效果一样) sprin...

qq_39199351的博客 1961

Springboot整合redis实现缓存及其缓存运行原理浅析

声明:小白,学习阶段,主要目的是为了记录学习过程,本文仅供参考,如有不足的地方欢迎指出沟通交流 本文基于Springboot2.1.3版本开发: 准备阶段 首先是pom.xml文件所需的依赖: <dependencies> <!--redis依赖--> <dependency> <groupId&g...

qq_2309316384的博客 4354

Springboot-redis整合

Springboot-redis命令行封装

Jerrylau213的博客 1570
上一篇: springboot 2.x自动配置原理简单分析
下一篇: springboot 2.x整合activemq
adminit
博客等级 码龄10年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值