redis集羣版的使用-java

jedis包引入;

<dependency>  
  
          <groupId>redis.clients</groupId>  
  
          <artifactId>jedis</artifactId>  
  
          <version>2.7.0</version><!--版本號-->  
  
      </dependency>  

來一個測試類;

    @Test
    public void testJedisCluster() {
 
       JedisPoolConfig config = new JedisPoolConfig();
       // 最大連接數
       config.setMaxTotal(30);
       // 最大連接空閒數
        config.setMaxIdle(2);
 
       //集羣結點
       Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
       jedisClusterNode.add(new HostAndPort("192.168.1.254", 7001));
       jedisClusterNode.add(new HostAndPort("192.168.1.254", 7002));
       jedisClusterNode.add(new HostAndPort("192.168.1.254", 7003));
       jedisClusterNode.add(new HostAndPort("192.168.1.254", 7004));
       jedisClusterNode.add(new HostAndPort("192.168.1.254", 7005));
       jedisClusterNode.add(new HostAndPort("192.168.1.254", 7006));
       JedisCluster jc = new JedisCluster(jedisClusterNode, config);
       
       JedisCluster jcd = new JedisCluster(jedisClusterNode);
       jcd.set("name", "zhangsan");
       String value = jcd.get("name");
       System.out.println(value);
    }
spring容器加載以及配置項較詳情介紹
<!-- 連接池配置 -->
	<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<!-- 最大連接數 -->
		<property name="maxTotal" value="30" />
		<!-- 最大空閒連接數 -->
		<property name="maxIdle" value="10" />
		<!-- 每次釋放連接的最大數目 -->
		<property name="numTestsPerEvictionRun" value="1024" />
		<!-- 釋放連接的掃描間隔(毫秒) -->
		<property name="timeBetweenEvictionRunsMillis" value="30000" />
		<!-- 連接最小空閒時間 -->
		<property name="minEvictableIdleTimeMillis" value="1800000" />
		<!-- 連接空閒多久後釋放, 當空閒時間>該值 且 空閒連接>最大空閒連接數 時直接釋放 -->
		<property name="softMinEvictableIdleTimeMillis" value="10000" />
		<!-- 獲取連接時的最大等待毫秒數,小於零:阻塞不確定的時間,默認-1 -->
		<property name="maxWaitMillis" value="1500" />
		<!-- 在獲取連接的時候檢查有效性, 默認false -->
		<property name="testOnBorrow" value="true" />
		<!-- 在空閒時檢查有效性, 默認false -->
		<property name="testWhileIdle" value="true" />
		<!-- 連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true -->
		<property name="blockWhenExhausted" value="false" />
	</bean>	
	<!-- redis集羣 -->
	<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
		<constructor-arg index="0">
			<set>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.1.254"></constructor-arg>
					<constructor-arg index="1" value="7001"></constructor-arg>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.1.254"></constructor-arg>
					<constructor-arg index="1" value="7002"></constructor-arg>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.1.254"></constructor-arg>
					<constructor-arg index="1" value="7003"></constructor-arg>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.1.254"></constructor-arg>
					<constructor-arg index="1" value="7004"></constructor-arg>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.1.254"></constructor-arg>
					<constructor-arg index="1" value="7005"></constructor-arg>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg index="0" value="192.168.1.254"></constructor-arg>
					<constructor-arg index="1" value="7006"></constructor-arg>
				</bean>
			</set>
		</constructor-arg>
		<constructor-arg index="1" ref="jedisPoolConfig"></constructor-arg>
	</bean>

測試代碼:

private ApplicationContext applicationContext;

	@Before
	public void init() {
		applicationContext = new ClassPathXmlApplicationContext(
				"classpath:applicationContext.xml");
	}

	//redis集羣
	@Test
	public void testJedisCluster() {
	JedisCluster jedisCluster = (JedisCluster) applicationContext.getBean("jedisCluster");
			jedisCluster.set("name", "zhangsan");
			String value = jedisCluster.get("name");
			System.out.println(value);
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章