You need to enable JavaScript to run this app.
导航
代码示例
最近更新时间:2024.10.11 15:16:55首次发布时间: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:gameowner:Alice 两个标签
    import com.volcengine.ApiClient;
    import com.volcengine.ApiException;
    import com.volcengine.sign.Credentials;
    
    import com.volcengine.redis.RedisApi;
    import com.volcengine.redis.model.*;
    
    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 接口的参数说明,设置接口入参
            {
                "RegionId":"cn-beijing",
                "ShardedCluster":1,
                "ShardNumber":2,
                "Password":"Pwd@12****",
                "EngineVersion":"5.0",
                "NodeNumber":3,
                "MultiAZ": "enabled",
                "ConfigureNodes": [
                            {
                                "AZ": "cn-beijing-a"
                            },
                            {
                                "AZ": "cn-beijing-b"
                            },
                            {
                                "AZ": "cn-beijing-b"
                            }
                ],
                "ShardCapacity":8192,
                "VpcId":"vpc-rs5811nceqyov0x58x4****",
                "SubnetId":"subnet-1g15j13jtzgu88ibuxwqp****",
                "AllowListIds":[
                    "acl-cq014ioqkm9zt5j****",
                    "acl-cq015pp15v8buvl****"
                ],
                "Tags":[
                    {
                        "Key":"department",
                        "Value":"game"
                    },
                    {
                        "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());
            }
        }
     }
    
  • 示例 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.*;
    
    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 接口的参数说明,设置接口入参
            {
                "RegionId": "cn-beijing",
                "ShardedCluster": 0,
                "Password": "Pwd@12****",
                "EngineVersion": "5.0",
                "NodeNumber": 2,
                "MultiAZ": "disabled",
                "ConfigureNodes": [
                            {
                                "AZ": "cn-beijing-a"
                            }
                ],
                "ShardCapacity": 8192,
                "VpcId": "vpc-rs5811nceqyov0x58x4****",
                "SubnetId": "subnet-1g15j13jtzgu88ibuxwqp****"
            }
                    
            //调用接口创建一个 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.*;

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 接口的参数说明,设置接口入参
        {
            "InstanceId":"redis-cn0212gzmh2xs****"
        }
        //调用接口查询指定 Redis 实例的详细信息
        try {
            // 复制代码运行示例,请自行打印 API 返回值。
            DescribeDBInstanceDetailResponse response = redisApi.describeDBInstanceDetail(request);
            System.out.println(response);
        } catch (ApiException e) {
            // 复制代码运行示例,请自行打印 API 错误信息。
            System.out.println(e.getResponseBody());
        }
    }
 }