如何用Jedis 客户端访问云数据库 Redis 版服务-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何用Jedis 客户端访问云数据库 Redis 版服务

云栖大讲堂 2017-10-30 10:27:47 1419
  • Jedis单链接
  • JedisPool连接池连接

操作步骤如下:

  1. 下载并安装Jedis客户端:单击下载地址

  2. Jedis 单连接示例
    打开 Eclipse 客户端,创建一个 Project,输入如下代码段:import redis.clients.jedis.Jedis;
  3. public class jedistest {
  4. public static void main(String[] args) {
  5. try {
  6. String host = "xx.kvstore.aliyuncs.com";//控制台显示访问地址
  7. int port = 6379;
  8. Jedis jedis = new Jedis(host, port);
  9. //鉴权信息
  10. jedis.auth("password");//password
  11. String key = "redis";
  12. String value = "aliyun-redis";
  13. //select db默认为0
  14. jedis.select(1);
  15. //set一个key
  16. jedis.set(key, value);
  17. System.out.println("Set Key " + key + " Value: " + value);
  18. //get 设置进去的key
  19. String getvalue = jedis.get(key);
  20. System.out.println("Get Key " + key + " ReturnValue: " + getvalue);
  21. jedis.quit();
  22. jedis.close();
  23. } catch (Exception e) {
  24. e.printStackTrace();
  25. }
  26. }
  27. }


运行上述 Project,在 Eclipse 的控制台输出如下运行结果则表示您已成功连接云数据库 Redis。 Set Key redis Value aliyun-redis
Get Key redis ReturnValue aliyun-redis


接下来您就可以通过自己的本地客户端 Jedis 操作您的云数据库 Redis。您也可以通过 JedisPool 连接池来连接您的云数据库 Redis。
[backcolor=transparent]JedisPool 连接池示例

  1. 打开 Eclipse 客户端,创建一个 Project,配置 pom 文件,具体配置如下所示:<dependency>
  2. <groupId>redis.clients</groupId>
  3. <artifactId>jedis</artifactId>
  4. <version>2.7.2</version>
  5. <type>jar</type>
  6. <scope>compile</scope>
  7. </dependency>


在 project 中添加如下应用: import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.PooledObjectFactory;
import org.apache.commons.pool2.impl.DefaultPooledObject;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;


如果您的 Jedis 客户端版本是 Jedis-2.7.2,在 Project 中输入如下代码: JedisPoolConfig config = new JedisPoolConfig();
//最大空闲连接数, 应用自己评估,不要超过ApsaraDB for Redis每个实例最大的连接数
config.setMaxIdle(200);
//最大连接数, 应用自己评估,不要超过ApsaraDB for Redis每个实例最大的连接数
config.setMaxTotal(300);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
String host = "*.aliyuncs.com";
String password = "密码";
JedisPool pool = new JedisPool(config, host, 6379, 3000, password);
Jedis jedis = null;
try {
jedis = pool.getResource();
/// ... do stuff here ... for example
jedis.set("foo", "bar");
String foobar = jedis.get("foo");
jedis.zadd("sose", 0, "car");
jedis.zadd("sose", 0, "bike");
Set<String> sose = jedis.zrange("sose", 0, -1);
} finally {
if (jedis != null) {
jedis.close();
}
}
/// ... when closing your application:
pool.destroy();


如果您的 Jedis 客户端版本是 Jedis-2.6、Jedis-2.5,在 Project 中输入如下代码: JedisPoolConfig config = new JedisPoolConfig();
//最大空闲连接数, 应用自己评估,不要超过ApsaraDB for Redis每个实例最大的连接数
config.setMaxIdle(200);
//最大连接数, 应用自己评估,不要超过ApsaraDB for Redis每个实例最大的连接数
config.setMaxTotal(300);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
String host = "*.aliyuncs.com";
String password = "密码";
JedisPool pool = new JedisPool(config, host, 6379, 3000, password);
Jedis jedis = null;
boolean broken = false;
try {
jedis = pool.getResource();
/// ... do stuff here ... for example
jedis.set("foo", "bar");
String foobar = jedis.get("foo");
jedis.zadd("sose", 0, "car");
jedis.zadd("sose", 0, "bike");
Set<String> sose = jedis.zrange("sose", 0, -1);
} catch(Exception e) {
broken = true;
} finally {
if (broken) {
pool.returnBrokenResource(jedis);
} else if (jedis != null) {
pool.returnResource(jedis);
}
}


运行上述 Project,在 Eclipse 的控制台输出如下运行结果则表示您已成功连接云数据库 Redis。 Set Key redis Value aliyun-redis
Get Key redis ReturnValue aliyun-redis


接下来您就可以通过自己的本地客户端Jedis操作您的云数据库 Redis。
NoSQL Java Redis 数据库 Android开发 数据安全/隐私保护
分享到
取消 提交回答
全部回答(0)
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程