SpringBoot整合Spring Data Redis完整实战(配置、工具类、序列化、集群适配) 一、前言Spring Data Redis是Spring官方封装的Redis操作框架底层默认适配Lettuce屏蔽底层客户端差异提供统一、简洁的RedisTemplate模板是SpringBoot项目操作Redis的标准方案。本文提供可直接上线的完整配置工具类。二、核心依赖dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-redis/artifactId /dependency三、application.yml生产配置spring: redis: # 单机配置 host: 127.0.0.1 port: 6379 password: 123456 # 数据库索引 database: 0 # 超时时间 timeout: 3000ms # Lettuce连接池配置 lettuce: pool: max-active: 20 max-idle: 10 min-idle: 5 max-wait: 3000ms四、Redis配置类解决序列化乱码、Key有序默认JDK序列化会出现乱码、可读性差生产统一使用Jackson2Json序列化。Configuration public class RedisConfig { Bean public RedisTemplateString, Object redisTemplate(RedisConnectionFactory factory) { RedisTemplateString, Object redisTemplate new RedisTemplate(); redisTemplate.setConnectionFactory(factory); // String序列化 StringRedisSerializer stringSerializer new StringRedisSerializer(); // Json序列化 GenericJackson2JsonRedisSerializer jsonSerializer new GenericJackson2JsonRedisSerializer(); // key序列化 redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setHashKeySerializer(stringSerializer); // value序列化 redisTemplate.setValueSerializer(jsonSerializer); redisTemplate.setHashValueSerializer(jsonSerializer); redisTemplate.afterPropertiesSet(); return redisTemplate; } }五、Redis通用工具类全覆盖常用方法Component public class RedisUtil { Autowired private RedisTemplateString, Object redisTemplate; // 设置缓存 public void set(String key, Object value) { redisTemplate.opsForValue().set(key, value); } // 设置过期缓存 public void set(String key, Object value, long time, TimeUnit unit) { redisTemplate.opsForValue().set(key, value, time, unit); } // 获取缓存 public Object get(String key) { return redisTemplate.opsForValue().get(key); } // 删除缓存 public Boolean del(String key) { return redisTemplate.delete(key); } // 设置过期时间 public Boolean expire(String key, long time, TimeUnit unit) { return redisTemplate.expire(key, time, unit); } // 判断key是否存在 public Boolean hasKey(String key) { return redisTemplate.hasKey(key); } }六、业务测试使用RestController RequestMapping(/redis) public class RedisController { Autowired private RedisUtil redisUtil; GetMapping(/set) public String set() { redisUtil.set(user:name, 张三, 60, TimeUnit.SECONDS); return success; } GetMapping(/get) public Object get() { return redisUtil.get(user:name); } }七、集群配置拓展集群环境替换yml配置即可无需改代码spring: redis: cluster: nodes: - 127.0.0.1:7001 - 127.0.0.1:7002 - 127.0.0.1:7003

相关新闻

最新新闻

JDK 25 LTS发布:核心特性与生产环境实践指南

JDK 25 LTS发布:核心特性与生产环境实践指南

1. JDK 25 LTS发布概览 2024年9月17日,Oracle正式发布了Java Development Kit 25长期支持版本(JDK 25 LTS)。作为Java生态系统中最重要的基础工具链更新,这个版本带来了多项关键改进和性能优化。对于开发者而言,LTS版本…

2026/8/10 13:13:22
基于ZYNQ的模块化信号处理平台:软硬协同设计与工程实践

基于ZYNQ的模块化信号处理平台:软硬协同设计与工程实践

如果你是一名嵌入式或FPGA方向的在校学生,或者刚入行的工程师,面对一个需要信号采集、处理、传输的复杂项目时,是否常常感到无从下手?传感器选型、ADC采样、数字滤波、算法实现、数据通信……每一个环节都可能成为“拦路虎”。更棘…

2026/8/10 13:13:22
COMSOL电感器温升仿真:对流散热边界条件设置与电磁-热耦合实践

COMSOL电感器温升仿真:对流散热边界条件设置与电磁-热耦合实践

如果你正在使用 COMSOL Multiphysics 仿真电感器的温升,可能会发现一个令人困惑的现象:明明在物理世界中,电感器通过空气对流散热是决定其最终工作温度的关键因素,但在你的仿真模型里,如果不做特殊处理,计算…

2026/8/10 13:13:22
计算机毕业设计之高校毕业生信息管理系统

计算机毕业设计之高校毕业生信息管理系统

当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统高校毕业生信息采取了人工的管理方法&#xff0…

2026/8/10 13:13:22
移动应用界面设计竞赛与Adobe XD实战指南

移动应用界面设计竞赛与Adobe XD实战指南

1. 移动应用界面设计竞赛模块解析这个赛项模块A聚焦移动应用界面设计的核心能力考核,要求参赛者在限定时间内完成符合行业标准的原型设计作品。从标题中的"XD参考答案"可以明确看出,该赛项指定使用Adobe XD作为原型设计工具,这与当…

2026/8/10 13:13:22
超实用幼儿教育合集:0-6岁系统化教学方案

超实用幼儿教育合集:0-6岁系统化教学方案

1. 幼儿教育合集的价值与定位 作为一名在幼教领域深耕多年的从业者,我深知优质教育资源的稀缺性。这份"超实用的幼儿教育合集"正是基于日常教学实践中的痛点而整理,它不同于市面上那些华而不实的理论汇编,而是经过真实课堂验证的&q…

2026/8/10 13:08:13