昨天第一次在内网的一台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
大家有没有遇到这种问题?请指教!
分享到:
相关推荐
* 获取 Jedis 实例:使用 `RedisUtil.getJedis()` 方法可以获取一个 Jedis 实例。 * 关闭 Jedis 实例:使用 `RedisUtil.getPool().destroy();` 方法可以关闭 Jedis 实例。 Jedis API 提供了多种操作 Redis 数据库的...
### 使用Redisson替代Jedis 在分布式系统中,Redis作为一种高性能的键值存储数据库,被广泛应用于缓存、消息队列、...对于那些希望提升应用程序性能和稳定性的团队来说,从Jedis迁移到Redisson是一个值得考虑的选择。
Jedis 2.0版本是其早期的一个稳定版本,带来了许多基本功能,如字符串操作(设置、获取、删除、增加、减少等)、哈希操作(存储和检索键值对)、列表操作(添加、获取、弹出元素)、集合操作(添加、删除成员,交集...
总之,"jedis开发使用包"为你提供了一个基础的环境,可以开始使用Java与Redis进行数据交互。通过学习和理解Jedis的API以及如何配置和管理连接池,你可以有效地在Java应用中集成Redis服务,实现数据存储、高速缓存或...
例如,创建一个Jedis实例,连接到Redis服务器,设置和获取键值,或者执行更复杂的操作,如使用pipelining(流水线)来批量发送命令,提高性能。此外,Jedis还支持Sentinel和Cluster模式,以适应高可用性和分布式环境...
赠送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 2.7.0是该库的一个稳定版本,发布于2015年。这个版本包含了许多改进和修复,确保了与Redis服务器的兼容性以及更好的性能和稳定性。在使用Jedis 2.7.0之前,确保你的Redis服务器版本与其兼容,以避免潜在的问题...
Jedis是一个广泛使用的Redis的Java客户端,它提供了对Redis操作的全面支持,并通过一些高级特性来增强操作的性能和功能。本文将详细讲解Jedis的多个关键特性,包括其对Redis支持的全貌、如何通过Jedis实现Redis的...
例如,使用`JedisPool`可以创建一个连接池: ```java JedisPoolConfig poolConfig = new JedisPoolConfig(); JedisPool jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379); ``` 每次使用完Jedis实例后,...
Jedis是另一个广泛使用的Java Redis客户端,相比JRedis,它拥有更广泛的社区支持和持续的更新。Jedis提供了全面的Redis命令支持,包括最新的特性和优化。开发者可以使用Jedis进行键值操作、事务处理、订阅/发布、...
在这个场景下,我们讨论的是一个自定义的Jedis操作模板类,这个模板类可能是为了简化Jedis的使用,提供更加面向对象的接口,以及统一异常处理。 首先,模板方法设计模式是一种行为设计模式,它使你能在不修改代码的...
要开始使用 Jedis,首先将其作为依赖项添加到您的 Java 项目中。如果使用 Maven: <groupId>redis.clients <artifactId>jedis <version>4.3.0 对于许多应用程序,最好使用连接池。实例化 Jedis 连接池: Jedis...
查阅源码,你会发现在`Jedis`类中,每个Redis命令对应一个方法。这些方法最终都会调用`CommandExecutor`执行命令,并通过`Socket`或`NIO`发送到Redis服务器。 4. **命令参数处理**: 在源码中,`Jedis`类的方法...
Jedis是Java语言中用于操作Redis数据库的一个开源客户端库,其版本2.7.2是Jedis的一个稳定版本,提供了丰富的API来支持Redis的各种数据结构和功能。在本文中,我们将深入探讨Jedis如何作为缓存技术应用于实际项目中...
`commons-pool2-2.6.0.jar`是Apache Commons Pool的第二个主要版本,这是一个对象池服务,它在Jedis中用于管理Redis连接池。 描述中的内容与标题相同,强调了这两个JAR文件的作用,即通过Jedis连接到Redis数据库。 ...
Jedis是Java语言中针对Redis的一个客户端库,由Xavi Beumala开发并维护。Jedis提供了全面的Redis命令支持,使Java开发者能够方便地在应用程序中集成和操作Redis。Jedis-2.9.0是该库的一个稳定版本,它包含了对Redis...
jedis5.1.0.jar
Jedis是Java开发人员用来与Redis内存数据存储进行交互的一个开源客户端库。Redis是一款高性能的键值对数据库,广泛应用于缓存、消息中间件以及分布式系统中。Jedis的2.4.2版本是其历史上的一个重要里程碑,它为...
2. 下载Jedis安装包:在给定的压缩包文件中,我们看到`jedis-0.8.8.384.exe`,这可能是一个早期版本的Jedis。通常,Jedis是作为Java库使用的,不需要像`.exe`这样的可执行文件来安装。如果你需要的是Jedis的最新版本...