Spring-data-redis configuration and use examples
One, add maven dependency
<!-redis->
<dependency>
<groupId> org.springframework.data </ groupId>
<artifactId> spring-data-redis </ artifactId>
<version> 1.5.0.RELEASE </ version>
<scope> provided </ scope>
</ dependency>
<dependency>
<groupId> redis.clients </ groupId>
<artifactId> jedis </ artifactId>
<version> 2.6.3 </ version>
<scope> provided </ scope>
</ dependency>
<dependency>
<groupId> org.apache.commons </ groupId>
<artifactId> commons-pool2 </ artifactId>
<version> 2.3 </ version>
<scope> provided </ scope>
</ dependency>
<dependency>
<groupId> org.codehaus.jackson </ groupId>
<artifactId> jackson-core-asl </ artifactId>
<version> 1.9.13 </ version>
<scope> provided </ scope>
</ dependency>
<!-redis->
Second, redis.properties
## applicationContext-redis.xml
redis.ip = 192.168.1.156
redis.port = 6379
redis.timeout = 5000
redis.maxIdle = 10
redis.minIdle = 1
redis.maxTotal = 30
redis.maxWaitMillis = 5000
#testOnBorrow true indicates whether to check before removing the connection from the pool, if the test fails, remove the connection from the pool and try to remove another
redis.testOnBorrow = true
Three, apllicationContext-redis.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: jee = "http://www.springframework.org/schema/jee"
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/jee
http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd "
default-lazy-init = "true">
<description> Redis configuration </ description>
<context: property-placeholder location = "classpath *: redis.properties" />
<bean id = "jedisPoolConfig" class = "redis.clients.jedis.JedisPoolConfig">
<property name = "maxTotal" value = "$ {redis.maxTotal}" />
<property name = "maxIdle" value = "$ {redis.maxIdle}" />
<property name = "minIdle" value = "$ {redis.minIdle}" />
<property name = "maxWaitMillis" value = "$ {redis.maxWaitMillis}" />
<property name = "testOnBorrow" value = "$ {redis.testOnBorrow}" />
</ bean>
<bean id = "jedisConnectionFactory"
class = "org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name = "hostName" value = "$ {redis.ip}" />
<property name = "port" value = "$ {redis.port}" />
<property name = "timeout" value = "$ {redis.timeout}" />
<property name = "poolConfig" ref = "jedisPoolConfig" />
</ bean>
<bean id = "redisTemplate" class = "org.springframework.data.redis.core.RedisTemplate">
<property name = "connectionFactory" ref = "jedisConnectionFactory" />
</ bean>
</ beans>
Four, use examples
package cn.com.easy.redis;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/ **
* redis test
*
* @author nibili May 13, 2015
*
* /
@RunWith (SpringJUnit4ClassRunner.class)
@ContextConfiguration ("/ applicationContext-redis-demo.xml")
public class RedisTest {
@Resource (name = "redisTemplate")
private RedisTemplate <String, String> template;
private String stringKey = "stringKey";
private String listKey = "listKey";
// private String hashKey = "hashKey";
// private String setKey = "setKey";
// private String sortSetKey = "sortSetKey";
/ **
*
*
* @auth nibili May 13, 2015
* /
@Test
public void sendString () {
try {
template.boundValueOps (stringKey) .set ("hello", 10, TimeUnit.SECONDS);
} catch (Exception ex) {
ex.printStackTrace ();
}
}
/ **
*
*
* @auth nibili May 13, 2015
* /
@Test
public void getString () {
try {
String temp = template.boundValueOps (stringKey) .get ();
System.out.println ("key:" + stringKey + ", value:" + temp);
} catch (Exception ex) {
ex.printStackTrace ();
}
}
@Test
public void pushList () {
try {
template.boundListOps (listKey) .leftPush ("list1");
} catch (Exception ex) {
ex.printStackTrace ();
}
}
@Test
public void getList () {
try {
System.out.println (template.boundListOps (listKey) .leftPop ());
} catch (Exception ex) {
ex.printStackTrace ();
}
}
}
Five, the use of several data structures in redis
@Resource (name = "redisTemplate")
private RedisTemplate <String, String> template;
The tedisTemplate is assembled. All data types are operated by binding the type key first, and then the operation:
template.boundValueOps (stringKey);
template.boundHashOps (key);
template.boundListOps (key);
template.boundSetOps (key);
template.boundZSetOps (key);
Spring-data-redis configuration and use examples