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

开发者社区> 问答> 正文

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

2017-10-30 10:27:47 1831 0
  • 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。
取消 提交回答
全部回答(0)
相关问答

0

回答

redis客户端jedis读取redis数据时出现如下异常:

2021-10-26 18:04:50 218浏览量 回答数 0

1

回答

云数据库 Redis的API有哪些?

2020-03-29 12:19:16 686浏览量 回答数 1

2

回答

什么是云数据库Redis呢?

2019-11-20 13:41:43 699浏览量 回答数 2

1

回答

云数据库Redis有什么优势呢?

2019-11-20 13:42:21 469浏览量 回答数 1

4

回答

云数据库redis 连接不上

2019-02-27 13:43:52 775浏览量 回答数 4

4

回答

购买云数据库redis版无法选择单节点

2019-02-27 16:49:06 726浏览量 回答数 4

1

回答

云数据库Redis版 三个版本区别

2019-02-18 16:25:40 1010浏览量 回答数 1

1

回答

云数据库Redis购买的可用区错误

2018-12-03 18:50:49 473浏览量 回答数 1

0

回答

云数据库Redis版的开源之路

2018-05-27 17:20:21 901浏览量 回答数 0

5

回答

两个阿里云账号下,云数据库Redis实例之间迁移

2018-05-07 10:56:22 3293浏览量 回答数 5
+关注
云栖大讲堂
擅长前端领域,欢迎各位热爱前端的朋友加入我们( 钉钉群号:23351485)关注【前端那些事儿】云栖号,更多好文持续更新中!
3913
文章
1754
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载