`
nesuk
  • 浏览: 169501 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jedis使用的一个小疑惑

阅读更多
昨天第一次在内网的一台Linux上安装了Redis,启动成功之后用redis-cli连接都没有问题,基本的操作都正常。只是在使用Jedis第一次连接服务的时候都遇到了小问题,而且是今天和昨天的第一次都有同样的问题发生。
昨天第一次用程序连接的时候,是用最简单的方式:
Jedis jedis = new Jedis(REDIS_SERVER_IP);
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
    String result = jedis.set("n" + i, "n" + i);
}

到执行jedis.set()时抛出了socket的连接超时异常,之后使用windows的telnet命令检查确实没有问题,然后再重新执行程序成功了。当时没在意,但是今天第一次执行时,同样的问题发生了,然后又是同样的方法,又执行成功了。不解!!!

异常信息如下:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect
	at redis.clients.jedis.Connection.connect(Connection.java:137)
	at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:65)
	at redis.clients.jedis.Connection.sendCommand(Connection.java:82)
	at redis.clients.jedis.BinaryClient.set(BinaryClient.java:82)
	at redis.clients.jedis.Client.set(Client.java:23)
	at redis.clients.jedis.PipelineBase.set(PipelineBase.java:481)
	at redis.clients.jedis.Pipeline.set(Pipeline.java:8)
	at com.abcwork.testJedis.TestSimple.testPipeline(TestSimple.java:146)
	at com.abcwork.testJedis.TestSimple.main(TestSimple.java:27)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	at java.net.Socket.connect(Socket.java:519)
	at redis.clients.jedis.Connection.connect(Connection.java:132)
	... 8 more


大家有没有遇到这种问题?请指教!
0
4
分享到:
评论
5 楼 ron.luo 2016-06-14  
ron.luo 写道
哥们问题解决了吗?我也遇到了,擦!

已经解决了,bind端口设置下,就Ok了。
4 楼 ron.luo 2016-06-14  
哥们问题解决了吗?我也遇到了,擦!
3 楼 dasimm 2015-02-15  
jedis.quit();
jedis.disconnect();
2 楼 liangjunsky 2015-02-06  
设置超时时间 timeout
1 楼 yyx22yyx 2015-01-01  
只要过一段时间,连接的时候就会报超时错误,再次连接时就好了,不知道有没有什么解决方案

相关推荐

    Jedis API中文使用文档.-比较详细

    * 获取 Jedis 实例:使用 `RedisUtil.getJedis()` 方法可以获取一个 Jedis 实例。 * 关闭 Jedis 实例:使用 `RedisUtil.getPool().destroy();` 方法可以关闭 Jedis 实例。 Jedis API 提供了多种操作 Redis 数据库的...

    使用redisson替代jedis

    ### 使用Redisson替代Jedis 在分布式系统中,Redis作为一种高性能的键值存储数据库,被广泛应用于缓存、消息队列、...对于那些希望提升应用程序性能和稳定性的团队来说,从Jedis迁移到Redisson是一个值得考虑的选择。

    jedis jedis.jar

    Jedis 2.0版本是其早期的一个稳定版本,带来了许多基本功能,如字符串操作(设置、获取、删除、增加、减少等)、哈希操作(存储和检索键值对)、列表操作(添加、获取、弹出元素)、集合操作(添加、删除成员,交集...

    jedis开发使用包

    总之,"jedis开发使用包"为你提供了一个基础的环境,可以开始使用Java与Redis进行数据交互。通过学习和理解Jedis的API以及如何配置和管理连接池,你可以有效地在Java应用中集成Redis服务,实现数据存储、高速缓存或...

    jedis相关jar包

    例如,创建一个Jedis实例,连接到Redis服务器,设置和获取键值,或者执行更复杂的操作,如使用pipelining(流水线)来批量发送命令,提高性能。此外,Jedis还支持Sentinel和Cluster模式,以适应高可用性和分布式环境...

    jedis-3.6.0-API文档-中文版.zip

    赠送jar包:jedis-3.6.0.jar; 赠送原API文档:jedis-3.6.0-javadoc.jar; 赠送源代码:jedis-3.6.0-sources.jar; 赠送Maven依赖信息文件:jedis-3.6.0.pom; 包含翻译后的API文档:jedis-3.6.0-javadoc-API文档-...

    jedis依赖jar包

    Jedis 2.7.0是该库的一个稳定版本,发布于2015年。这个版本包含了许多改进和修复,确保了与Redis服务器的兼容性以及更好的性能和稳定性。在使用Jedis 2.7.0之前,确保你的Redis服务器版本与其兼容,以避免潜在的问题...

    jedis2.x使用指南.pdf

    Jedis是一个广泛使用的Redis的Java客户端,它提供了对Redis操作的全面支持,并通过一些高级特性来增强操作的性能和功能。本文将详细讲解Jedis的多个关键特性,包括其对Redis支持的全貌、如何通过Jedis实现Redis的...

    Redis及使用Jedis开发所需jar

    例如,使用`JedisPool`可以创建一个连接池: ```java JedisPoolConfig poolConfig = new JedisPoolConfig(); JedisPool jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379); ``` 每次使用完Jedis实例后,...

    redis jredis jedis 使用

    Jedis是另一个广泛使用的Java Redis客户端,相比JRedis,它拥有更广泛的社区支持和持续的更新。Jedis提供了全面的Redis命令支持,包括最新的特性和优化。开发者可以使用Jedis进行键值操作、事务处理、订阅/发布、...

    自己写的一个jedis操作模板类

    在这个场景下,我们讨论的是一个自定义的Jedis操作模板类,这个模板类可能是为了简化Jedis的使用,提供更加面向对象的接口,以及统一异常处理。 首先,模板方法设计模式是一种行为设计模式,它使你能在不修改代码的...

    jedis-4.3.1

    要开始使用 Jedis,首先将其作为依赖项添加到您的 Java 项目中。如果使用 Maven: &lt;groupId&gt;redis.clients &lt;artifactId&gt;jedis &lt;version&gt;4.3.0 对于许多应用程序,最好使用连接池。实例化 Jedis 连接池: Jedis...

    jedis源码 (学习jedis)

    查阅源码,你会发现在`Jedis`类中,每个Redis命令对应一个方法。这些方法最终都会调用`CommandExecutor`执行命令,并通过`Socket`或`NIO`发送到Redis服务器。 4. **命令参数处理**: 在源码中,`Jedis`类的方法...

    jedis-jedis-2.7.2

    Jedis是Java语言中用于操作Redis数据库的一个开源客户端库,其版本2.7.2是Jedis的一个稳定版本,提供了丰富的API来支持Redis的各种数据结构和功能。在本文中,我们将深入探讨Jedis如何作为缓存技术应用于实际项目中...

    jedis-2.9.0.jar和commons-pool2-2.6.0.jar下载(jedis连接redis数据库)

    `commons-pool2-2.6.0.jar`是Apache Commons Pool的第二个主要版本,这是一个对象池服务,它在Jedis中用于管理Redis连接池。 描述中的内容与标题相同,强调了这两个JAR文件的作用,即通过Jedis连接到Redis数据库。 ...

    jedis-2.9.0.jar

    Jedis是Java语言中针对Redis的一个客户端库,由Xavi Beumala开发并维护。Jedis提供了全面的Redis命令支持,使Java开发者能够方便地在应用程序中集成和操作Redis。Jedis-2.9.0是该库的一个稳定版本,它包含了对Redis...

    jedis5.1.0.jar

    jedis5.1.0.jar

    jedis-2.4.2版本

    Jedis是Java开发人员用来与Redis内存数据存储进行交互的一个开源客户端库。Redis是一款高性能的键值对数据库,广泛应用于缓存、消息中间件以及分布式系统中。Jedis的2.4.2版本是其历史上的一个重要里程碑,它为...

    jedis安装包

    2. 下载Jedis安装包:在给定的压缩包文件中,我们看到`jedis-0.8.8.384.exe`,这可能是一个早期版本的Jedis。通常,Jedis是作为Java库使用的,不需要像`.exe`这样的可执行文件来安装。如果你需要的是Jedis的最新版本...

Global site tag (gtag.js) - Google Analytics