Spring整合redis帶測試用例Demo完整程式碼
阿新 • • 發佈:2018-11-23
專案結構
jar包
<!--redis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.6.1.RELEASE</version> </dependency>
xml檔案
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!--配置檔案的位置--> <context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true"/> <!--實體類所在的包--> <context:component-scan base-package="com.xdja.cssp.demo.service.redis"/> <!-- jedis 配置 --> <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig" > <property name="maxIdle" value="${redis.maxIdle}" /> <property name="maxWaitMillis" value="${redis.maxWait}" /> <property name="testOnBorrow" value="${redis.testOnBorrow}" /> </bean > <!-- redis伺服器中心 --> <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" > <property name="poolConfig" ref="poolConfig" /> <property name="port" value="${redis.port}" /> <property name="hostName" value="${redis.host}" /> <property name="password" value="${redis.password}" /> <property name="timeout" value="${redis.timeout}" ></property> </bean > <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" > <property name="connectionFactory" ref="connectionFactory" /> <property name="keySerializer" > <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property> <property name="valueSerializer" > <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" /> </property> </bean > </beans>
配置檔案
redis.host=127.0.0.1
redis.port=6379
redis.password=
redis.maxIdle=100
redis.maxActive=300
redis.maxWait=1000
redis.testOnBorrow=true
redis.timeout=100000
實體類
package com.xdja.cssp.demo.service.redis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Component; import java.io.Serializable; /** * @author: ggp * @Date: 2018/11/9 15:41 * @Description: redis工具類 */ @Component public final class RedisUtil { @Autowired private RedisTemplate<Serializable, Object> redisTemplate; /** * 寫入快取 * * @param key * @param value * @return */ public boolean set(final String key, Object value) { boolean result = false; try { ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); operations.set(key, value); result = true; } catch (Exception e) { e.printStackTrace(); } return result; } /** * 讀取快取 * * @param key * @return */ public Object get(final String key) { Object result = null; ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); result = operations.get(key); return result; } }
測試用例
package com.xdja.cssp.demo.test;
import com.xdja.cssp.demo.service.redis.RedisUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author: ggp
* @Date: 2018/11/9 17:16
* @Description:
*/
@RunWith(SpringJUnit4ClassRunner.class)//使用junit4進行測試
@ContextConfiguration("classpath:/META-INF/spring/applicationContext-redis.xml")
public class RedisGetTest {
@Autowired
RedisUtil redisUtil ;
@Test
public void put(){
System.out.println(redisUtil.get("ssh"));
}
}
package com.xdja.cssp.demo.test;
import com.xdja.cssp.demo.service.redis.RedisUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author: ggp
* @Date: 2018/11/9 15:49
* @Description: redis測試用例
*/
@RunWith(SpringJUnit4ClassRunner.class)//使用junit4進行測試
@ContextConfiguration("classpath:/META-INF/spring/applicationContext-redis.xml")
public class RedisPutTest {
@Autowired
RedisUtil redisUtil ;
@Test
public void put(){
redisUtil.set("ssh",11);
}
}
記得開啟redis服務