• 沒有找到結果。

4.3 多语言连接

4.3.2 Java 客户端

4.3.2.1 Jedis

介绍使用同一VPC内弹性云服务器ECS上的Jedis连接Redis实例的方法。更多的客户端 的使用方法请参考Redis客户端。

前提条件

● 已成功申请Redis实例,且状态为“运行中”。

● 已创建弹性云服务器,创建弹性云服务器的方法,请参见创建弹性云服务器。

● 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装java编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见查看实例信息。

步骤2 登录弹性云服务器。

步骤3 使用Redis Java (Jedis)客户端连接实例。

获取Redis Java (Jedis)客户端源码,具体方法可参考获取Jedis源码。Jedis客户端访问 DCS Redis服务,有以下两种方法:

● Jedis单连接

● Jedis连接池连接 具体示例如下:

1. jedis单连方式连接Redis单机/主备/Proxy集群示例。

// 密码模式创建连接

String host = "192.168.0.150";

int port = 6379;

String pwd = "passwd";

Jedis client = new Jedis(host, port);

client.auth(pwd);

client.connect();

// 执行set指令

String result = client.set("key-string", "Hello, Redis!");

System.out.println( String.format("set指令执行结果:%s", result) );

// 执行get指令

String value = client.get("key-string");

System.out.println( String.format("get指令执行结果:%s", value) );

// 免密模式创建连接

String host = "192.168.0.150";

int port = 6379;

Jedis client = new Jedis(host, port);

client.connect();

// 执行set指令

String result = client.set("key-string", "Hello, Redis!");

System.out.println( String.format("set指令执行结果:%s", result) );

// 执行get指令

String value = client.get("key-string");

System.out.println( String.format("get指令执行结果:%s", value) );

其中,host为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和 端口获取见步骤1,请按实际情况修改后执行。pwd为创建Redis实例时自定义的 密码,请按实际情况修改后执行。

2. jedis连接池连接Redis单机/主备/Proxy集群示例。

// 密码模式生成连接池配置信息 String ip = "192.168.0.150";

int port = 6379;

String pwd = "passwd";

GenericObjectPoolConfig config = new GenericObjectPoolConfig();

config.setTestOnBorrow(false);

config.setTestOnReturn(false);

config.setMaxTotal(100);

config.setMaxIdle(100);

config.setMaxWaitMillis(2000);

JedisPool pool = new JedisPool(config, ip, port, 100000, pwd);// 在应用初始化的时候生成连接池 // 在业务操作时,从连接池获取连接

Jedis client = pool.getResource();

try { // 执行指令

String result = client.set("key-string", "Hello, Redis!");

System.out.println( String.format("set指令执行结果:%s", result) );

String value = client.get("key-string");

System.out.println( String.format("get指令执行结果:%s", value) );

} catch (Exception e) { pool.destroy();

// 免密模式生成连接池配置信息 String ip = "192.168.0.150";

int port = 6379;

GenericObjectPoolConfig config = new GenericObjectPoolConfig();

config.setTestOnBorrow(false);

config.setTestOnReturn(false);

config.setMaxTotal(100);

config.setMaxIdle(100);

config.setMaxWaitMillis(2000);

JedisPool pool = new JedisPool(config, ip, port, 100000);// 在应用初始化的时候生成连接池 // 在业务操作时,从连接池获取连接

Jedis client = pool.getResource();

try { // 执行指令

String result = client.set("key-string", "Hello, Redis!");

System.out.println( String.format("set指令执行结果:%s", result) );

String value = client.get("key-string");

System.out.println( String.format("get指令执行结果:%s", value) );

} catch (Exception e) { pool.destroy();

其中,ip为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和端 口获取见步骤1,请按实际情况修改后执行。pwd为创建Redis实例时自定义的密 码,请按实际情况修改后执行。

3. 单连接方式连接Redis Cluster集群代码示例。

– 加密访问的实例:

// 以下是加密访问 int port = 6379;

String host = "192.168.144.37";

// 创建jediscluster

Set<HostAndPort> nodes = new HashSet<HostAndPort>();

nodes.add(new HostAndPort(host, port));

JedisCluster cluster = new JedisCluster(nodes, 5000, 3000, 10, "password", new JedisPoolConfig());

cluster.set("key", "value");

System.out.println("Connected to RedisCluster:" + cluster.get("key"));

cluster.close();

– 免密访问的实例:

int port = 6379;

String host = "192.168.144.37";

// 创建jediscluster

Set<HostAndPort> nodes = new HashSet<HostAndPort>();

nodes.add(new HostAndPort(host, port));

JedisCluster cluster = new JedisCluster(nodes);

cluster.set("key", "value");

System.out.println("Connected to RedisCluster:" + cluster.get("key"));

cluster.close();

其中,host为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和 端口获取见步骤1,请按实际情况修改后执行。password为创建Redis实例时自定 义的密码,请按实际情况修改后执行。

步骤4 参考Redis Java (Jedis) 客户端源码中的readme文件编译代码并运行Redis Java (Jedis) 客户端连接Redis实例。

----结束

连接 Redis 实例操作视频

如果需要详细了解连接redis实例的操作,请单击以下链接观看视频。

访问缓存实例操作视频