Spring-data-redis Configuration and usage examples

Source: Internet
Author: User

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


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.