1. 程式人生 > >Spring-Data-Redis配置詳解

Spring-Data-Redis配置詳解

Spring Data Redis的配置網上一大堆,不同的資料可能方法略有出入。這裡筆者就記錄一下自己親配的流程吧。

首先我專案中使用了Maven。

第一步,先加個repository:

<repository>
<id>maven-central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>

第二步,改pom.xml,這裡的配置不同的version可能會有jar包衝突,這個也要看自身的Spring的版本,筆者Spring3.1X,配的差不多是最新的spring-data-redis和jedis,幸運地通過了:

<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.6.1</version>
</dependency>

第三步,加配置檔案,筆者新建配置檔案命名為redis-config.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"></bean> 


<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="127.0.0.1"></property>
        <property name="port" value="6379"></property>
        <property name="password" value="123456"></property>
        <property name="timeout" value="10000"></property>
        <property name="usePool" value="true"></property>
        <property name="poolConfig" ref="jedisPoolConfig"></property>
    </bean>


<!-- redis template definition -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">  
        <property name="connectionFactory" ref="jedisConnectionFactory"></property>  
        <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>

這裡配的jedisPoolConfig依賴於pom.xml中的jedis,redisTemplate和jedisConnectionFactory依賴於pom.xml中配的spring-data-redis。當然,jedisConnectionFactory預設也是以redis.clients.jedis.JedisPoolConfig作為連線池類。這裡顯式配置,是為自定義JedisPoolConfig的連線池屬性留的,可以用<property>標籤做一些個性化的配置,當然這裡沒有配,採用的是預設配置了。

接下來不打算自己手寫,因幾篇還算可以的資料來補全此文吧:

1、http://www.360doc.com/content/14/0425/13/203871_372092436.shtml此文對一些自定義配置做了講解,對使用方法也做了補充

2、http://www.tuicool.com/articles/7Bni6f此文純手工不用Maven配,也做了一些不錯的介紹補充

3、http://www.cnblogs.com/linjiqin/archive/2013/06/14/3135248.html此文對連線池方面做了補充介紹

4、http://spring.io/docs這是官方網站,官方文件,非常使用的

5、http://redisdoc.com/這是redis命令參考手冊,不錯的~