redis spring-data-redis 单个配置

1.引入pom依赖

<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.8.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>


              注意该版本需要依赖:spring 4.3.6.RELEASE

2.添加redis基础设置properties  redis.properties


#JedisPoolConfig的参数

#最大连接数

redis.pool.maxTotal=30

#最大空闲时间

redis.pool.maxIdle=10

#每次最大连接数

redis.pool.numTestsPerEvictionRun=1024

#释放扫描的扫描间隔

redis.pool.timeBetweenEvictionRunsMillis=30000

#连接的最小空闲时间

redis.pool.minEvictableIdleTimeMillis=1800000

#连接控歘按时间多久后释放,当空闲时间>该值且空闲连接>最大空闲连接数时直接释放

redis.pool.softMinEvictableIdleTimeMillis=10000

#获得链接时的最大等待毫秒数,小于0:阻塞不确定时间,默认-1

redis.pool.maxWaitMillis=1500

#在获得链接的时候检查有效性,默认false

redis.pool.testOnBorrow=true

#在空闲时检查有效性,默认false

redis.pool.testWhileIdle=true

#连接耗尽时是否阻塞,false报异常,true阻塞超时,默认true

redis.pool.blockWhenExhausted=false



#JedisConnectionFactory的参数

#主机地址,默认:localhost

redis.hostName=xxxx

#主机端口,默认:6379

redis.port=6379

#超时时间,默认:2000

redis.timeout=3000

#密码

redis.password=mju76yhN

#是否使用连接池,默认true

redis.usePool=true

#使用数据库的索引,0-15之间的数字,默认:0

redis.dbIndex=0

#是否使用数据类型的转换,默认:true

#redis.convertPipelineAndTxResults

#哨兵配置

#redis.sentinelConfig

#集群配置

#redis.clusterConfig


3.添加redis 的spring配置文件 spring-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"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">





    <!--引入配置文件-->

    <bean id="placeholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

        <property name="order" value="1"/>

        <property name="ignoreUnresolvablePlaceholders" value="true"/>

        <property name="locations">

            <list>

                <value>classpath:properties/redis.properties</value>

            </list>

        </property>

    </bean>



   <!--配置 jedis pool-->

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

        <!-- 最大连接数 -->

        <property name="maxTotal" value="${redis.pool.maxTotal}"/>

        <!-- 最大空闲时间 -->

        <property name="maxIdle" value="${redis.pool.maxIdle}"/>

        <!-- 每次最大连接数 -->

        <property name="numTestsPerEvictionRun" value="${redis.pool.numTestsPerEvictionRun}"/>

        <!-- 释放扫描的扫描间隔 -->

        <property name="timeBetweenEvictionRunsMillis" value="${redis.pool.timeBetweenEvictionRunsMillis}"/>

        <!-- 连接的最小空闲时间 -->

        <property name="minEvictableIdleTimeMillis" value="${redis.pool.minEvictableIdleTimeMillis}"/>

        <!-- 连接控歘按时间多久后释放,当空闲时间>该值且空闲连接>最大空闲连接数时直接释放 -->

        <property name="softMinEvictableIdleTimeMillis" value="${redis.pool.softMinEvictableIdleTimeMillis}"/>

        <!-- 获得链接时的最大等待毫秒数,小于0:阻塞不确定时间,默认-1 -->

        <property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}"/>

        <!-- 在获得链接的时候检查有效性,默认false -->

        <property name="testOnBorrow" value="${redis.pool.testOnBorrow}"/>

        <!-- 在空闲时检查有效性,默认false -->

        <property name="testWhileIdle" value="${redis.pool.testWhileIdle}"/>

        <!-- 连接耗尽时是否阻塞,false报异常,true阻塞超时 默认:true-->

        <property name="blockWhenExhausted" value="${redis.pool.blockWhenExhausted}"/>

    </bean>



    <!--spring data redis -->

    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">

        <property name="hostName" value="${redis.hostName}"/>

        <property name="port" value="${redis.port}"/>

        <property name="timeout" value="${redis.timeout}"/>

        <property name="database" value="${redis.dbIndex}"/>

        <property name="usePool" value="${redis.usePool}"/>

        <property name="password" value="${redis.password}"/>

        

        

        <!--可以通过构造注入或者Set注入两种方式-->

        <property name="poolConfig" ref="jedisPoolConfig"/>

    </bean>



    <!--redisTemplate-->

    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">

        <property name="connectionFactory" ref="jedisConnectionFactory"/>

    </bean>



</beans>






版权声明:本文为yuxinchen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。