`

Jedis更改Redis默认端口依次

 
阅读更多
使用Jedis封装调用Redis的过程中,难免会出现一点小问题.在不更改Redis默认端口的情况下一切OK.当将6379更改为其他端口(94,或者其他30000)时,小问题出现.提示连接池无法获取连接.
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
本机Redis服务正常,redis-cli能连上.程序始终报错无法连上.
最后发现是在Spring中构造JedisShardInfo的问题:



默认读取${redis.hostIp}与${redis.hostPort}如果不指定类型,构造时始终调用两个字符串的构造函数,所以当出现端口更改时,程序还是调用原来的构造函数.
部分源代码如下:



如要显式调用第二个构造函数,记得加上参数类型即可:


  • 大小: 6.3 KB
  • 大小: 5.5 KB
  • 大小: 9.6 KB
分享到:
评论
2 楼 westsince2001 2012-04-06  
cellstar2001 写道
请教您个问题 :
源码中 ShardedJedis 这个类中为什么不实现 Jedis类中 select() 和reName()方法呢 ,使用ShardedJedis 这个类只能使用默认库,如何切换到其他库呢?
期待您的解答 万分感谢

这个,很多方法如果牵涉到Jedis的,ShardedJedis 并不一定都实现,如事务等,都要直接操作Jedis.
切换其它库,只能实例化一个你的Jedis 类了.
JedisShardInfo shardInfo = newJedisShardInfo(RedisServer,RedisPort);
Jedis j=new Jedis(shardInfo)
OR
ShardedJedis sJedis = redisUtil.getShardedJedisPool().getResource();

Collection<Jedis> js=sJedis.getAllShards();
System.out.println(js.size());
Iterator<Jedis> it=js.iterator();
while(it.hasNext()){
  Jedis j=it.next();
	System.out.println(j.get("db0"));
	j.select(1);
	System.out.println(j.get("db1"));
}

1 楼 cellstar2001 2012-04-06  
请教您个问题 :
源码中 ShardedJedis 这个类中为什么不实现 Jedis类中 select() 和reName()方法呢 ,使用ShardedJedis 这个类只能使用默认库,如何切换到其他库呢?
期待您的解答 万分感谢

相关推荐

    Jedis操作Redis的案例

    而Jedis是Java语言连接Redis的客户端,提供了丰富的API供开发者进行数据操作。本案例将深入探讨如何利用Jedis在Java环境下与Redis进行交互,涉及的技术栈包括MyBatis持久层框架、Jedis工具类、Servlet以及JSP页面。 ...

    Jedis操作redis代码示例

    在这个例子中,"localhost"是Redis服务器的IP地址,6379是默认的端口号。 ### 基本操作 #### 设置和获取键值对 使用`set`方法设置键值对,`get`方法获取键对应的值: ```java jedis.set("key", "value"); String ...

    spring-data + jedis + redis代码

    2. 配置Redis连接信息,如主机名、端口、密码等,在Spring的配置文件(如application.yml或application.properties)中。 3. 创建一个RedisTemplate或StringRedisTemplate bean,这是Spring Data提供的模板类,用于...

    Jedis操作redis服务实例

    **Jedis操作Redis服务实例详解** Redis是一款高性能的键值对数据库,被广泛应用于缓存、消息队列、数据持久化等多个场景。Jedis是Java语言的Redis客户端,提供了丰富的API来与Redis服务器进行交互。在本文中,我们...

    各种版本的redis+Jedis驱动包

    安装过程中,需要注意配置文件(如`redis.conf`),以便设置端口、日志文件路径等参数。 2. **Redis Linux压缩包**:对于Linux用户,Redis通常通过源代码编译安装。这个压缩包包含了Redis的源代码,用户需要自行...

    jedis通过JedisSentinelPool获取jedis操作redis

    jedis通过JedisSentinelPool获取jedis操作redis,通过配置sentienl,获取sentinel连接池,通过sentinel,获取jedis信息

    springboot使用Jedis整合redis.zip

    springboot使用Jedis整合redis#SpringBoot笔记(一)SpringBoot基本操作——环境搭建及项目创建(有demo)(二)SpringBoot基本操作——使用IDEA打war包发布及测试(三)SpringBoot基本操作——SpringBoot集成Spring...

    jedis调用redis源码Demo

    jedis调用redis源码Demo,直接导入工程就可以运行。 redis目录下有redis安装文件和入门电子书 redis64-2.8.9.zip redisbin_x32.zip Redis入门指南(JB51.NET).pdf Redis设计与实现.pdf src: FirestJedisTest.java ...

    Jedis 操作Redis 集群demo

    1. **配置JedisCluster**:在Java代码中,你需要创建一个`JedisCluster`实例,通常需要提供一组节点的IP地址和端口,以及集群的超时设置。示例代码如下: ```java Set&lt;HostAndPort&gt; nodes = new HashSet(); nodes...

    Java通过Jedis操作Redis

    而Java作为广泛使用的编程语言,通过Jedis库与Redis进行交互,实现了对Redis丰富的操作功能。本文将深入探讨如何使用Java和Jedis来操作Redis,涉及Redis的基本数据类型、主从复制以及事务处理。 首先,让我们了解...

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

    2. **实例化Jedis**: 创建Jedis实例,通常需要提供Redis服务器的主机名和端口号。例如: ```java Jedis jedis = new Jedis("localhost", 6379); ``` 3. **连接池配置**: 使用Apache Commons Pool配置JedisPool,...

    java redis使用之利用jedis实现redis消息队列.docx

    ### Java Redis 使用之利用 Jedis 实现 Redis 消息队列 #### 一、引言 随着互联网应用的发展,消息队列在系统架构中的地位愈发重要。它不仅可以提高系统的响应速度,还可以帮助开发者构建出更加健壮、可扩展的应用...

    使用 Jedis 操作 Redis 数据库 博客代码示例

    【Redis】使用 Jedis 操作 Redis 数据库 ② ( Jedis API 规律 | Redis 命令与 Jedis 函数名称基本一致 | Jedis API 使用示例 ) https://hanshuliang.blog.csdn.net/article/details/129128393 博客代码示例

    jedis中的redis命令

    Jedis是Java语言实现的Redis客户端库,它提供了一系列方法,方便Java开发者能够操作Redis数据库,执行各种数据库操作。Redis是一种开源的高性能键值存储数据库,广泛应用于缓存、会话管理、消息队列等场景。本文将...

    jedis操作Redis

    3. 配置Redis:修改`redis.conf`配置文件,根据实际需求配置端口、数据持久化、日志级别等。 4. 启动Redis:执行`redis-server redis.conf`启动服务。 5. 检查运行状态:使用`redis-cli`命令行工具连接Redis,输入`...

    redis博客总集-jedis连接redis的所有操作

    Jedis是Java语言中使用Redis的一个常用客户端库,提供了丰富的API来执行各种Redis操作。本篇文章将详细探讨如何使用Jedis连接Redis并进行各种操作。 首先,要使用Jedis,你需要在项目中引入其依赖。在`pom.xml`文件...

    Jedis操作Redis数据库的方法

    Jedis操作Redis数据库的方法 Jedis 是 Java 语言中的一种 Redis 客户端库,它提供了便捷的方法来操作 Redis 数据库。下面将详细介绍 Jedis 操作 Redis 数据库的方法。 导包 在使用 Jedis 操作 Redis 数据库之前,...

    基于Jedis的Redis缓存操作SDK设计源码

    本项目是基于Jedis的Redis缓存操作SDK设计源码,包含59个文件,主要文件类型为java、prefs、properties、classpath、gitignore、project、LICENSE和md。该项目适用于Redis缓存操作的开发和设计,为用户提供了一个...

    Java中利用jedis操作redis示例.zip

    要与Redis服务器建立连接,你需要创建一个Jedis实例并指定服务器的IP地址和端口号: ```java Jedis jedis = new Jedis("localhost", 6379); ``` 如果有密码保护,还需要设置密码: ```java jedis.auth("your_...

    jedis操作redis工具类,使用该工具类无需配置spring

    **Redis与Jedis** Redis是一种高性能的键值对存储系统,常用于缓存、消息队列等场景。它支持丰富的数据结构,如字符串、哈希、列表、集合、有序集合等,这使得Redis在处理复杂的数据操作时具有很高的灵活性。 **...

Global site tag (gtag.js) - Google Analytics