如何在Java Spring Boot中通过AWS Redis实例Endpoint存储数据
Java对接AWS ElastiCache (Redis) 入门操作指南
前置准备
操作前先确认以下配置已完成:
- 已获取AWS Redis实例的Endpoint地址和端口号(默认端口为6379)
- Redis实例关联的安全组已放开你本地设备/应用部署服务器的IP对6379端口的入站访问权限
- 若Redis实例开启了身份验证,提前获取到访问密码
场景1:原生Jedis客户端对接(无Spring框架场景)
Jedis是Java生态最常用的Redis原生客户端,适合非Spring体系的普通Java项目
1. 引入Maven依赖
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.4.3</version> </dependency>
2. 基础操作示例代码
import redis.clients.jedis.Jedis; public class AwsRedisDemo { public static void main(String[] args) { // 替换为你自己的Redis实例配置 String redisEndpoint = "你的实例Endpoint地址"; int redisPort = 6379; String redisPassword = "你的实例访问密码(未开启验证可删除该参数)"; // try-with-resources自动释放连接 try (Jedis jedis = new Jedis(redisEndpoint, redisPort)) { // 开启身份验证的实例需先执行认证 // jedis.auth(redisPassword); // 测试连通性,连通成功会返回PONG System.out.println("连通测试结果:" + jedis.ping()); // 写入数据 jedis.set("test_key", "hello aws redis"); System.out.println("写入数据成功"); // 读取数据 String value = jedis.get("test_key"); System.out.println("读取test_key结果:" + value); // 删除数据 jedis.del("test_key"); System.out.println("删除数据成功"); } catch (Exception e) { e.printStackTrace(); } } }
场景2:Spring Boot项目对接(使用Spring Data Redis)
Spring Boot项目推荐用Spring Data Redis封装的工具类,无需手动管理连接生命周期
1. 引入Maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2. 新增Redis配置
在application.yml中添加如下配置:
spring: redis: host: 你的实例Endpoint地址 port: 6379 # 开启身份验证的实例添加密码配置 # password: 你的实例访问密码 timeout: 3000
3. 基础操作示例代码
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class RedisOperateService { @Resource private StringRedisTemplate stringRedisTemplate; // 写入数据 public void set(String key, String value) { stringRedisTemplate.opsForValue().set(key, value); } // 读取数据 public String get(String key) { return stringRedisTemplate.opsForValue().get(key); } // 删除数据 public Boolean delete(String key) { return stringRedisTemplate.delete(key); } }
常见问题排查
- 连接超时:优先排查安全组规则是否放开了访问IP的6379端口,其次确认应用和Redis实例是否在同一个VPC,跨VPC访问需要提前配置VPC对等连接或开启Redis公网访问
- 认证失败:确认实例是否开启了传输加密或身份验证,开启加密的实例需要额外在代码中配置SSL参数
- 生产环境注意不要单次创建销毁连接,Jedis可搭配连接池使用,Spring Data Redis默认已集成连接池,直接在配置文件中添加连接池参数即可
内容的提问来源于stack exchange,提问作者Kakashi
相关产品推荐
相关产品推荐

