tencent cloud

文档反馈

Java 连接示例

最后更新时间:2023-03-14 15:53:43
    本文列举客户端 Java 代码示例,辅助您使用 SSL 加密或不加密的方式访问数据库。

    准备工作

    Redis 控制台实例详情页面的网络信息区域,获取连接数据库的内网IPv4地址及端口。具体信息,请参见 查看实例详情
    已获取访问数据库的账号与密码。具体操作,请参见 管理账号
    下载客户端 Jedis,推荐使用最新版本。
    如果使用 SSL 加密方式连接数据库,请 开通 SSL 加密,获取 SSL 认证证书文件。

    SSL 不加密方式连接示例

    您需要根据注释修改参数:连接数据库的 IP、端口及账号密码信息。
    import redis.clients.jedis.Jedis;
    
    public class HelloRedis {
    
    public static void main(String[] args) {
    try {
    /**以下参数,如果为内网访问,分别填写您的 Redis 实例内网 IP、端口号、实例 ID 和密码;
    如果为外网访问,分别配置实例外网地址、端口号及其密码,无需设置实例 ID*/
    String host = "192.xx.xx.195";
    int port = 6379;
    String instanceid = "crs-09xxxqv";
    String password = "123ad6aq";
    //连接 Redis
    Jedis jedis = new Jedis(host, port);
    //鉴权
    jedis.auth(instanceid + ":" + password);
    
    /**接下来可以开始操作 Redis 实例,可以参考 https://github.com/xetorthio/jedis */
    //设置 Key
    jedis.set("redis", "tencent");
    System.out.println("set key redis suc, value is: tencent");
    //获取 Key
    String value = jedis.get("redis");
    System.out.println("get key redis is: " + value);
    
    //关闭退出
    jedis.quit();
    jedis.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    运行结果
    img
    
    

    SSL 加密方式连接示例

    您需要根据注释修改参数:SSL 证书文件、连接数据库的 IP、端口及账号密码信息。
    import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    
    import javax.net.ssl.SSLContext;
    import javax.net.ssl.SSLSocketFactory;
    import javax.net.ssl.TrustManager;
    import javax.net.ssl.TrustManagerFactory;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.security.KeyStore;
    import java.security.SecureRandom;
    
    
    public class Main {
    
    public static void main(String[] args) throws Exception {
    KeyStore trustStore = KeyStore.getInstance("jks");
    //ca.jks 为证书文件名称。
    try (InputStream inputStream = new FileInputStream("ca.jks") ){
    trustStore.load(inputStream, null);
    }
    TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("PKIX");
    trustManagerFactory.init(trustStore);
    TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
    
    SSLContext sslContext = SSLContext.getInstance("TLS");
    sslContext.init(null, trustManagers, new SecureRandom());
    SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
    GenericObjectPoolConfig genericObjectPoolConfig = new GenericObjectPoolConfig();
    
    //with ssl config jedis pool
    //vip 为连接数据库的内网 IPv4 地址,6379为默认的端口号,pwd 为默认账号的密码。您需根据实际情况替换。
    JedisPool pool = new JedisPool(genericObjectPoolConfig, "vip",
    6379, 2000, "pwd", 0, true, sslSocketFactory, null, null);
    Jedis jedis = pool.getResource();
    System.out.println(jedis.ping());
    jedis.close();
    }
    }
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持