Jedis和Spring的整合测试

单机版整合使用默认配置:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
	http://www.springframework.org/schema/context 
	http://www.springframework.org/schema/context/spring-context-4.1.xsd
	http://www.springframework.org/schema/aop 
	http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
	http://www.springframework.org/schema/util 
	http://www.springframework.org/schema/util/spring-util-4.0.xsd">
	
	<!-- jedis客户端单机版 -->
 		<bean id="redisClient" class="redis.clients.jedis.JedisPool">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="6379"></constructor-arg>
		</bean>
</beans>

测试代码:

	/**
	 * 单机版测试
	 */
	@Test
	public void testSpringJedisSingle() {
		ApplicationContext applicationContext=new 
				ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
		JedisPool pool=(JedisPool) applicationContext.getBean("redisClient");
		Jedis jedis=pool.getResource();
		String string=jedis.get("huang");
		System.out.println(string);	
		pool.close();
		jedis.close();
	}

推荐的是默认配置,如果需要自已配置连接池的话也可以参考如下:

<!-- 连接池配置 -->
	<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>	
	<!-- jedis客户端单机版 -->
	<bean id="redisClient" class="redis.clients.jedis.JedisPool">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="6379"></constructor-arg>
		<constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
	</bean>

集群版整合使用默认配置:

<!-- jedis客户端集群版 -->
		<bean id="redisClient" class="redis.clients.jedis.JedisCluster">
		<constructor-arg name="nodes">
		<set>
		<bean class="redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="7001"></constructor-arg>
		</bean>
			<bean class="redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="7002"></constructor-arg>
		</bean>
			<bean class="redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="7003"></constructor-arg>
		</bean>
			<bean class="redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="7004"></constructor-arg>
		</bean>
			<bean class="redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="7005"></constructor-arg>
		</bean>
			<bean class="redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="192.168.25.153"></constructor-arg>
		<constructor-arg name="port" value="7006"></constructor-arg>
		</bean>	
		</set>
		</constructor-arg>
		</bean>
	

测试代码:

	/***
	 * 整合测试
	 */
	@Test
	public void testSpringJedisCluster() {
		ApplicationContext applicationContext=new 
				ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
		JedisCluster cluster=(JedisCluster) applicationContext.getBean("redisClient");
		cluster.set("aaa", "nihao");
		String string=cluster.get("aaa");
		System.out.println(string);	
		cluster.close();	
	}

猜你喜欢

转载自blog.csdn.net/yilihuang/article/details/80686707