You need to enable JavaScript to run this app.
导航
代码示例
最近更新时间:2024.10.28 17:41:13首次发布时间:2024.10.11 10:30:22

本文提供 Redis Java SDK 的代码示例供您参考。

前提条件

  1. 下载安装 SDK
  2. 初始化客户端

设置请求超时时间

使用 Java SDK 调用 Redis 接口时,默认无超时时间设置。
您可以在初始化客户端时,通过 setConnectTimeout(${超时时间})(默认单位:毫秒) 来指定客户端的请求超时时间,若未在该时间内完成,请求即会终止并报超时错误。
例如,您可以通过如下代码将客户端的请求超时时间设置为 5000 毫秒。

public static ApiClient apiClient = new ApiClient()
        .setCredentials(Credentials.getCredentials(ak,sk))
        .setRegion(region).setConnectTimeout(5000);

创建 Redis 实例

说明

关于下述 SDK 代码中所使用参数的定义、取值范围等信息,请参见 CreateDBInstance

  • 示例 1
    使用如下示例代码创建 1 个启用分片集群的 Redis 实例,配置如下:

    • 数据库版本号: 5.0
    • 可用内存:8GiB(即 8192MiB)
    • 分片数:2
    • 每个分片中的节点数:3
    • 在华北2(北京)地域下使用多可用区部署,其中主节点部署在可用区 A,2 个从节点均在可用区 B
    • 绑定至 acl-cq014ioqkm9zt5j**** 和 acl-cq015pp15v8buvl**** 两个白名单
    • 绑定 department:game 和 owner:Alice 两个标签
    • 计费类型:包年包月,预计使用 3 个月,且不开启自动续费
    import com.volcengine.ApiClient;
    import com.volcengine.ApiException;
    import com.volcengine.sign.Credentials;
    
    import com.volcengine.redis.RedisApi;
    import com.volcengine.redis.model.*;
    
    import java.util.Arrays;
    
    public class TestRedis {
        public static void main(String[] args) throws Exception {
            // 设置 AKSK 验证信息及 Region
            // 注意示例代码安全,代码泄漏会导致 AKSK 泄漏,有极大的安全风险。
            String ak = "Your AK";
            String sk = "Your SK";
            String region = "Your Region";
    
            ApiClient apiClient = new ApiClient()
                    .setCredentials(Credentials.getCredentials(ak, sk))
                    .setRegion(region);
            RedisApi redisApi = new RedisApi(apiClient);
            
            //创建一个接口入参
            CreateDBInstanceRequest request = new CreateDBInstanceRequest();
            //根据 CreateDBInstance 接口的参数说明,设置接口入参
            request.regionId("cn-beijing")
    		        .multiAZ("enabled")
                .configureNodes(Arrays.asList(new ConfigureNodeForCreateDBInstanceInput().AZ("cn-beijing-a"), new ConfigureNodeForCreateDBInstanceInput().AZ("cn-beijing-b"), new ConfigureNodeForCreateDBInstanceInput().AZ("cn-beijing-c")))
                .instanceName("java_sdk_shardedcluster_test")
                .shardedCluster(1)
                .password("Pwd@12****")
                .nodeNumber(3)
                .shardNumber(2)
                .shardCapacity(8192L)
                .engineVersion("5.0")
                .vpcId("vpc-30uf6q5ku7vgg7r2qr12n****")
                .subnetId("subnet-2gcljx616l5hc50ztyyzz****")
                .allowListIds(Arrays.asList("acl-cq0118bj1dah84v****", "acl-cq011jlt9rkap8n****"))
                .tags(Arrays.asList(new TagForCreateDBInstanceInput().key("department").value("game"), new TagForCreateDBInstanceInput().key("owner").value("Alice")))
                .chargeType("PrePaid")
                .purchaseMonths(3)
                .autoRenew(false);
       
           //调用接口创建一个 Redis 实例
            try {
                // 复制代码运行示例,请自行打印 API 返回值。
                CreateDBInstanceResponse response = redisApi.createDBInstance(request);
                System.out.println(response);
            } catch (ApiException e) {
                // 复制代码运行示例,请自行打印 API 错误信息。
                System.out.println(e.getResponseBody());
            }
        }
     }
    
  • 示例 2
    使用如下示例代码创建 1 个未启用分片集群的 Redis 实例,配置如下:

    • 数据库版本号: 5.0
    • 可用内存:8GiB(即 8192MiB)
    • 节点数:2
    • 在华北2(北京)地域下使用单可用区部署,且所有节点部署在可用区 A
    import com.volcengine.ApiClient;
    import com.volcengine.ApiException;
    import com.volcengine.sign.Credentials;
    
    import com.volcengine.redis.RedisApi;
    import com.volcengine.redis.model.*;
    
    import java.util.Arrays;
    
    public class TestRedis {
        public static void main(String[] args) throws Exception {
            // 设置 AKSK 验证信息及 Region
            // 注意示例代码安全,代码泄漏会导致 AKSK 泄漏,有极大的安全风险。
            String ak = "Your AK";
            String sk = "Your SK";
            String region = "Your Region";
    
            ApiClient apiClient = new ApiClient()
                    .setCredentials(Credentials.getCredentials(ak, sk))
                    .setRegion(region);
            RedisApi redisApi = new RedisApi(apiClient);
            
            //创建一个接口入参
            CreateDBInstanceRequest request = new CreateDBInstanceRequest();   
            
            //根据 CreateDBInstance 接口的参数说明,设置接口入参
            request.regionId("cn-beijing")
    		        .multiAZ("disabled")
    		        .configureNodes(Arrays.asList(new ConfigureNodeForCreateDBInstanceInput().AZ("cn-beijing-a")))
                .instanceName("java_sdk_test")
                .shardedCluster(0)
                .password("Pwd@12****")
                .nodeNumber(2)
                .shardCapacity(8192L)
                .engineVersion("5.0")
                .vpcId("vpc-30uf6q5ku7vgg7r2qr12n****")
                .subnetId("subnet-2gcljx616l5hc50ztyyzz****")
                .allowListIds(Arrays.asList("acl-cq0118bj1dah84v****", "acl-cq011jlt9rkap8n****"))
                .tags(Arrays.asList(new TagForCreateDBInstanceInput().key("department").value("game"), new TagForCreateDBInstanceInput().key("owner").value("Alice")));
                
            //调用接口创建一个 Redis 实例
            try {
                // 复制代码运行示例,请自行打印 API 返回值。
                CreateDBInstanceResponse response = redisApi.createDBInstance(request);
                System.out.println(response);
            } catch (ApiException e) {
                // 复制代码运行示例,请自行打印 API 错误信息。
                System.out.println(e.getResponseBody());
            }
        }
     }
    

查询 Redis 实例信息

说明

关于下述 SDK 请求中所使用参数的定义、取值范围等信息,请参见 DescribeDBInstanceDetail

import com.volcengine.ApiClient;
import com.volcengine.ApiException;
import com.volcengine.sign.Credentials;

import com.volcengine.redis.RedisApi;
import com.volcengine.redis.model.*;

import java.util.Arrays;

public class TestRedis {
    public static void main(String[] args) throws Exception {
        // 设置 AKSK 验证信息及 Region
        // 注意示例代码安全,代码泄漏会导致 AKSK 泄漏,有极大的安全风险。
        String ak = "Your AK";
        String sk = "Your SK";
        String region = "Your Region";

        ApiClient apiClient = new ApiClient()
                .setCredentials(Credentials.getCredentials(ak, sk))
                .setRegion(region);
        RedisApi redisApi = new RedisApi(apiClient);
        
        //创建一个接口入参
        DescribeDBInstanceDetailRequest request = new DescribeDBInstanceDetailRequest();   
        
        //根据 DescribeDBInstanceDetail 接口的参数说明,设置接口入参
        request.instanceId("redis-cn0212gzmh2xs****")
        
        //调用接口查询指定 Redis 实例的详细信息
        try {
            // 复制代码运行示例,请自行打印 API 返回值。
            DescribeDBInstanceDetailResponse response = redisApi.describeDBInstanceDetail(request);
            System.out.println(response);
        } catch (ApiException e) {
            // 复制代码运行示例,请自行打印 API 错误信息。
            System.out.println(e.getResponseBody());
        }
    }
 }