通义灵码怎么写Redis缓存代码 Spring Data Redis用法

浅晨同学_2562

浅晨同学_2562

2026-06-02

785人浏览

原创

必须先确保redis服务可连、依赖已引入、序列化配置合理,否则存进去的数据乱码或读不出来;spring boot 3.x默认用lettuce客户端,需配json序列化器避免反序列化失败,stringredistemplate适用于纯字符串操作,redistemplate配合genericjackson2jsonredisserializer支持java对象缓存。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

通义灵码怎么写redis缓存代码 spring data redis用法

要在Spring Boot项目中用Spring Data Redis写Redis缓存代码,必须先确保Redis服务可连、依赖已引入、序列化配置合理,否则存进去的数据乱码或读不出来。

引入依赖并确认客户端类型

在pom.xml中添加Spring Boot官方推荐的starter:


  org.springframework.boot
  spring-boot-starter-data-redis

Spring Boot 3.x默认使用Lettuce(非阻塞、线程安全),【无需额外引入Jedis或commons-pool2】;若用Spring Boot 2.7.x,也无需手动排除Jedis,框架自动选用Lettuce。

配置application.yml连接参数

在application.yml中填写基础连接信息:

spring:
  redis:
    host: localhost
    port: 6379
    password: ""
    database: 0
    timeout: 2000ms
    lettuce:
      pool:
        max-active: 20
        max-idle: 10
        min-idle: 2

注意:password为空字符串时不能省略引号,否则YAML解析失败;database值必须是0~15之间的整数。

选择模板类:StringRedisTemplate vs RedisTemplate

方法一:纯字符串操作(如短信验证码、计数器)→ 直接注入StringRedisTemplate

@Autowired
private StringRedisTemplate stringRedisTemplate;

这一步操作起来很简单,直接调用set("code:138****1234", "654321", Duration.ofMinutes(5))就行,不用管序列化问题。

方法二:存储Java对象(如User、Order)→ 必须自定义RedisTemplate并配置JSON序列化

Redis Skill - 高性能缓存管理
Redis Skill - 高性能缓存管理

Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。

下载

@Configuration
public class RedisConfig {
  @Bean
  public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
    RedisTemplate template = new RedisTemplate();
    template.setConnectionFactory(factory);
    template.setKeySerializer(RedisSerializer.string());
    template.setHashKeySerializer(RedisSerializer.string());
    GenericJackson2JsonRedisSerializer jsonSerializer = new GenericJackson2JsonRedisSerializer();
    template.setValueSerializer(jsonSerializer);
    template.setHashValueSerializer(jsonSerializer);
    return template;
  }
}

【不配JSON序列化器会导致value存成乱码字节数组,取出来是null或反序列化失败】

五种数据结构的操作方式

第一步:获取对应Operations实例

ValueOperations valueOps = stringRedisTemplate.opsForValue();
HashOperations hashOps = redisTemplate.opsForHash();
ListOperations listOps = redisTemplate.opsForList();
SetOperations setOps = redisTemplate.opsForSet();
ZSetOperations zSetOps = redisTemplate.opsForZSet();

第二步:执行典型操作

valueOps.set("user:1001", "张三", Duration.ofHours(1));
hashOps.put("user:1001:profile", "age", 28);
listOps.leftPush("task:queue", new Task("send-email"));
setOps.add("tag:java", "spring", "redis", "boot");
zSetOps.add("leaderboard", "alice", 95.5);

第三步:验证是否生效(可选)

System.out.println(valueOps.get("user:1001")); // 输出:张三
System.out.println(hashOps.entries("user:1001:profile")); // 输出:{age=28}

开启@Cacheable注解式缓存

@EnableCaching加在主启动类或配置类上;然后在Service方法上加:

@Cacheable(value = "users", key = "#id")
public User findById(Long id) {
  return userMapper.selectById(id);
}

此时需保证RedisTemplate已配置为支持泛型序列化的版本,否则缓存命中时反序列化会报错ClassCastException。

相关专题

更多
通义灵码下载安装教程
通义灵码下载安装教程

通义灵码下载专区提供最新版通义灵码官方下载、历史版本、安装教程、插件配置、VS Code 与 JetBrains IDE 接入指南,帮助开发者快速完成 AI 编程环境部署。

2026.05.29

167

12

通义灵码智能代码生成教程大全
通义灵码智能代码生成教程大全

通义灵码 AI 编程专区聚焦代码生成、智能补全、单元测试、代码解释、Agent 自动开发等功能,帮助开发者提升编码效率与研发质量。

2026.05.29

255

19

通义灵码工具合集
通义灵码工具合集

通义灵码开发工具专区收录 VS Code、Docker、Postman、Git、Navicat、Apifox 等热门开发工具,打造完整 AI 编程开发环境。

2026.05.29

368

19

通义灵码安装配置使用教程大全
通义灵码安装配置使用教程大全

通义灵码安装教程专区提供 VS Code、JetBrains、Visual Studio 等 IDE 的详细安装配置步骤,并包含 AI 补全、代码生成、智能问答等功能使用指南。

2026.05.29

290

10

通义灵码插件使用教程大全
通义灵码插件使用教程大全

本专题整合了通义灵码插件使用教程,阅读专题下面的文章了解更多详细内容。

2026.05.29

345

11

通义灵码提示词高效编码技巧
通义灵码提示词高效编码技巧

本专题汇总了通义灵码提示词从入门到精通的完整教程,涵盖基础指令写法、代码生成优化、项目级上下文设置及常见报错调试技巧。同时整理了多场景实战案例、高效编码模板与避坑指南,助你精准控制AI输出,大幅提升开发效率,轻松写出高质量代码。

2026.06.03

75

10

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

40

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

20

15

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

2026.10.10

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
通义灵码手册
通义灵码手册

共0课时 | 0人学习