Spring-boot通过redisTemplate使用redis(无须手动序列化)

本文介绍了如何在Spring-boot中配置redisTemplate,利用Jackson实现无须手动序列化的过程,包括导入redis和Jackson依赖,配置application.yml,创建自定义序列化类,并提供了相关参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redisTemplate的一些操作可以参考下面俩篇文章
http://blog.youkuaiyun.com/whatlookingfor/article/details/51863286
http://www.jianshu.com/p/7bf5dc61ca06


导入redis依赖

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

Jackson依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.3.2</version>
</dependency>

配置application.yml配置文件

# REDIS (RedisProperties)
spring:
    redis:
        database: 0      # Redis数据库索引(默认为0)
        host: localhost  # Redis服务器地址
        port: 6379
### Spring Boot 中 `spring-boot-data-redis` 和 `spring-boot-starter-data-redis` 的区别 #### 定义与用途 `sprng-boot-starter-data-redis` 是一个启动器(Starter),它包含了构建基于 Redis 数据存储的应用程序所需的所有依赖项。这个 Starter 自动引入了核心库,例如 `spring-data-redis` 和底层的 Redis 驱动程序(如 Jedis 或 Lettuce)。通过这种方式简化了项目的配置过程[^1]。 另一方面,`spring-boot-data-redis` 并不是一个独立的模块名称,而是通常指代由 `spring-boot-starter-data-redis` 提供的核心功能之一——即对 Redis 数据访问的支持能力。换句话说,它是 `spring-boot-starter-data-redis` 所封装的功能的一部分[^2]。 #### 主要差异总结 以下是两者的主要区别: 1. **命名含义** - `spring-boot-starter-data-redis`: 这是一个完整的 Starter 模块,用于快速集成 Redis 功能到 Spring Boot 应用中。 - `spring-boot-data-redis`: 更像是描述性的术语,表示 Spring Boot 对数据层 Redis 支持的整体概念,而不是具体的 Maven/Gradle 依赖项[^3]。 2. **依赖关系** - 当你在项目中添加 `spring-boot-starter-data-redis` 时,会自动拉取多个必要的子依赖项,其中包括但不限于: - `spring-data-redis`: 实现 Redis 数据操作的核心抽象接口。 - `lettuce-core` 或 `jedis`: Redis Java 客户端驱动程序的选择,默认情况下可能会优先选用其中之一作为默认实现。 3. **自动化配置** - 使用 `spring-boot-starter-data-redis` 后,Spring Boot 将提供一系列开箱即用的自动化配置选项来管理 Redis 连接池以及序列化策略等高级特性。这些都无需开发者额外编写繁琐的手动代码即可完成初始化工作[^2]。 4. **实际应用中的体现** 下面展示了一个简单的测试案例片段,其中展示了如何利用 `RedisTemplate` 来保存键值对并设置过期时间: ```java @SpringBootTest class CodeApplicationTests { @Autowired private RedisTemplate<String, Object> redisTemplate; @Test public void testRedisOperations(){ // 设置 key-value 到缓存里,并指定存活时间为60秒 redisTemplate.opsForValue().set("testKey","value"); redisTemplate.expire("testKey",60L, TimeUnit.SECONDS); String result = (String) redisTemplate.opsForValue().get("testKey"); Assertions.assertEquals(result,"value"); } } ``` 此代码段表明,在成功注入 `RedisTemplate` 后可以非常方便地执行各种针对 Redis 缓存的操作命令[^3]。 #### 结论 综上所述,“`spring-boot-data-redis`”更多是指向于一种逻辑上的表述形式,而 “`spring-boot-starter-data-redis`”才是具体可被加入工程文件里的组件包名。如果希望在自己的应用程序里面轻松接入 Redis,则应该直接引用后者。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fool_dawei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值