`

JAVA使用Jedis连接redis cluster

 
阅读更多

最近在使用redis的cluster功能,首先是搭建redis cluster集群,不在多说,具体可参考http://yangchunhe.iteye.com/admin/blogs/2361550

然后就是客户端使用redis cluster集群,由于项目使用的java,随列举一下java的调用实例,本例子使用java开源框架jedis,具体测试代码如下:

public class JedisclusterTest extends TestCase{
	private static final int DEFAULT_TIMEOUT = 2000;
	private static final int DEFAULT_REDIRECTIONS = 5;
	private static final JedisPoolConfig DEFAULT_CONFIG = new JedisPoolConfig();
	
	public static JedisCluster getJc(){
		Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
		
	    jedisClusterNode.add(new HostAndPort("192.168.5.181", 6001));
	    jedisClusterNode.add(new HostAndPort("192.168.5.181", 6002));
	    jedisClusterNode.add(new HostAndPort("192.168.5.181", 6003));
	    jedisClusterNode.add(new HostAndPort("192.168.5.181", 6004));
	    jedisClusterNode.add(new HostAndPort("192.168.5.181", 6005));
	    jedisClusterNode.add(new HostAndPort("192.168.5.181", 6006));
//	    
	    JedisCluster jc = new JedisCluster(jedisClusterNode, DEFAULT_TIMEOUT, DEFAULT_TIMEOUT,
	        DEFAULT_REDIRECTIONS, null, DEFAULT_CONFIG);
	    return jc;
	}
	
	public void testcluster(){
		
		JedisCluster jc = getJc();
	    
	    jc.set("testkey4", "testkey hello");
	    //
	    jc.expire("testkey3", 100);
	    System.out.println(jc.get("testkey3"));
	    
	    try {
			jc.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 使用期间最坑的是包错连不上

大致报错信息如下:

Could not get a resource from the pool

多半原因是由于redis集群问题,跟java代码无关

分享到:
评论

相关推荐

    使用java时间连接池连接redis,单例模式和集群模式.docx

    在这个资源中,我们将探讨如何使用 Java 客户端连接 Redis 集群,并实现单例模式和集群模式的连接。 Redis 集群 Redis 集群是一种高可用性的 Redis 部署方式,通过将多个 Redis 节点组成一个集群,可以提高整个...

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

    - 使用连接池管理连接,避免资源浪费。 - 使用try-with-resources语句或手动关闭Jedis实例,确保资源及时释放。 - 在高并发场景下,考虑使用JedisCluster或Sentinel支持的分布式配置,以获得更好的可扩展性和可用性...

    redisCluster集群demo

    在`redisCluster-demo`这个项目中,你可以期待找到一个使用Java实现的示例,展示如何配置和使用`JedisCluster`或者`Lettuce`来连接Redis Cluster,以及如何进行基本的数据操作。这个示例可以帮助初学者理解如何在...

    redis cluster spring整合代码

    2. **RedisConnectionFactory**:Spring会使用这些配置创建`RedisConnectionFactory`,它是连接到Redis服务器的工厂类,可以配置为使用Jedis或Lettuce客户端。 3. **RedisTemplate**或`StringRedisTemplate`:基于`...

    jfinal redis cluster plugin-JFinal redis cluster集群插件 带连接池和Jedis包

    3. `jfinal-rediscluster-plugin-by-shixiaotian-0.0.1.jar`:这应该是JFinal Redis Cluster插件的jar包,由开发者shixiaotian创建,版本为0.0.1,用于在JFinal项目中支持Redis集群。 4. `readme.txt`:通常这个文件...

    Jedis 操作Redis 集群demo

    2. **执行命令**:一旦建立了集群连接,就可以使用`JedisCluster`对象执行各种Redis命令。例如,设置键值对: ```java String key = "myKey"; String value = "myValue"; jedisCluster.set(key, value); ``` 3...

    redis集群批量插入

    Java客户端库如JedisCluster或Lettuce提供了连接和操作Redis集群的API。 批量插入String类型数据时,通常使用`JedisCluster`类中的`mset`方法。这个方法允许一次性设置多个键值对,但需要注意的是,由于Redis集群的...

    java jedis redis 接口工具类

    在Java开发中,Redis是一个广泛使用的高性能键值存储系统,而Jedis是Java语言与Redis进行交互的主要客户端库。本文将深入探讨如何在Java框架中使用Jedis来操作Redis,包括单机版和集群版的设置,以及如何设计一个...

    jedisRedis的Java客户端

    - 使用连接池提高性能和资源利用率。 - 对于大数据量操作,考虑使用Pipeline或Batch。 - 注意异常处理,避免因网络波动等原因导致的程序中断。 - 遵循Redis的设计原则,如避免单个键过大,合理利用数据结构等。 ...

    jfinal redis cluster plugin-JFinal redis cluster集群插件

    使用JFinal Redis Cluster插件时,首先需要将其引入到项目中,这里我们看到有一个名为 "jfinal-rediscluster-plugin-by-shixiaotian-0.0.1.jar" 的文件,这应该是该插件的可执行版本。通常,开发者会将这个JAR文件...

    25_你能聊聊redis cluster集群模式的原理吗?.zip

    在Java环境中,可以使用JedisCluster或者Lettuce等库来操作Redis Cluster。这些库内部实现了对槽位映射、故障转移等复杂逻辑的处理,简化了开发者的工作。例如,JedisCluster提供了连接池管理,自动处理节点间的通信...

    RedisCluster.rar

    在Java中,我们可以使用`JedisCluster`或`RedisClusterClient`(Lettuce库)来连接和操作RedisCluster。以下是一些关键操作: - **初始化连接**:创建`JedisCluster`实例时,需要提供一组种子节点的IP和端口,以及...

    jedis单机版,集群版工具类

    `Jedis` 是一个高效的、开源的 Java 客户端,专门用于连接和操作 Redis 数据库。它提供了全面的 Redis 命令支持,使得在 Java 应用中集成 Redis 变得简单易行。在本文中,我们将深入探讨 Jedis 的单机版和集群版使用...

    Redis高可用集群Java(jedis客户端)操作源码.zip

    jedis是Java社区广泛使用的Redis客户端库,它支持连接单节点和集群。在集群模式下,jedis会自动处理槽的映射,让客户端可以透明地操作数据。以下是使用jedis连接Redis集群的基本步骤: 1. 添加jedis依赖:在项目的...

    redis集群环境搭建以及java中jedis客户端集群代码实现

    在本文中,我们将深入探讨如何搭建Redis集群,以及如何在Java中使用Jedis客户端进行集群操作。 首先,让我们了解Redis集群的基本概念。Redis集群通过数据分片(Sharding)来分散数据,每个节点存储一部分数据。集群...

    redis-cluster结合springboot的使用自定义序列化

    JedisCluster是Jedis库提供的一个类,用于连接和操作Redis集群。在SpringBoot中,我们可以通过配置`application.yml`或`application.properties`文件来设置JedisCluster的相关参数。以下是一个基本的YAML配置示例: ...

    java调用redis工具类jedis

    Java调用Redis工具类Jedis是Java开发人员在与Redis进行数据交互时常用的库。Redis是一个高性能的键值存储系统,常被用作数据库、缓存和消息中间件。Jedis是Java语言的一个轻量级Redis客户端,它提供了丰富的API来...

    tomcat8 Redis Cluster Session同步需要的jar

    文件名中的"redisclouder"可能是指用于操作或连接Redis Cluster的Java库,如JedisCluster或Lettuce,这些库可以帮助Tomcat8的Web应用与Redis Cluster进行通信,读取和写入session数据。 "tomcat8 session"则表明这...

    redis的Java客户端开发包Jedis

    Jedis是Java语言用于连接Redis的最常用的客户端库,提供了丰富的Redis命令支持,使得在Java应用中操作Redis变得简单易行。 首先,`commons-pool2-2.6.0.jar` 是Apache Commons Pool库的第二个主要版本,它是一个...

Global site tag (gtag.js) - Google Analytics