You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:45:08