Redis简单应用

一.Spring Data Redis简介

Spring Data Redis 是 Spring 提供的一个用于操作 Redis 数据库的框架,它对 Redis 的访问进行了封装,使开发者可以通过简单的 Java API 来操作 Redis,而不需要直接使用底层的 Redis 客户端。通过 Spring Data Redis,开发者可以方便地实现对 Redis 中各种数据类型(如 String、Hash、List、Set、ZSet)的存取操作。

在 Spring Boot 项目中,Spring Data Redis 通常通过 RedisTemplateStringRedisTemplate 来完成数据的读写操作,其中 RedisTemplate 是最常用的核心类,它封装了对 Redis 的各种操作方法。开发者只需要配置好 Redis 的连接信息,就可以通过这些工具类快速实现数据缓存、会话存储、验证码存储等功能。

二.在java中具体操作

1.在项目中导入Spring Data Redis的meavn坐标

在 Spring Boot 项目中,如果需要使用 Redis,就需要先引入 Spring Data Redis 相关的依赖。通过在项目的 pom.xml 文件中添加 Maven 坐标,可以让项目具备操作 Redis 数据库的能力。引入该依赖后,Spring Boot 会自动集成 Redis 相关功能,并提供 RedisTemplate 等工具类用于操作 Redis 数据。

2.配置数据源

3.编写配置类,创建RedisTemplate对象

在 Spring Boot 项目中,为了方便操作 Redis 数据库,需要编写一个配置类来创建 RedisTemplate 对象。RedisTemplate 是 Spring Data Redis 提供的核心类,通过它可以实现对 Redis 中各种数据类型(如 String、Hash、List、Set、ZSet)的操作。

在配置类中,需要使用 @Configuration 注解标识该类为配置类,并通过 @Bean 注解将 RedisTemplate 对象交给 Spring 容器进行管理。同时,通过 RedisConnectionFactory 设置 Redis 的连接工厂,使 RedisTemplate 可以与 Redis 服务器建立连接。

4.通过RedisTemplate对象来操作redis

在完成 Redis 的依赖引入和配置之后,可以通过编写测试类来验证 Redis 是否连接成功,并测试对 Redis 中不同数据类型的操作。Spring Data Redis 提供了 RedisTemplate 类,通过它可以方便地操作 Redis 中的各种数据结构。

(1)获取不同数据类型的操作对象

通过这些方法可以获取对应的数据操作对象,从而实现对 Redis 不同数据结构的操作。

(2)操作 String 类型数据

(3)操作 Hash 类型数据

(4)操作 List 类型数据

(5)操作 Set 类型数据

(6)操作 ZSet 类型数据

三.思考

这个为什么可以直接写?

这里其实做了两步事情:

opsForValue() 返回的是:ValueOperations,可以直接链式调用

这两种写法是一样的。

相关推荐
Muscleheng43 分钟前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿1 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-2 小时前
Redis 命令
数据库·redis·缓存
小江的记录本2 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`2 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存
二宝哥3 小时前
离线安装maven
java·数据库·maven
SZLSDH3 小时前
场景适配论 | 数字孪生IOC建设中渲染技术与智能体能力的协同逻辑
前端·数据库·ai·数字孪生·数据可视化·智能体
这个DBA有点耶3 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
@我漫长的孤独流浪3 小时前
数据库完整性约束全解析:从理论到实践
数据库
小江的记录本3 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven