spring-data-redis配置

来源:互联网 发布:快递 知乎 编辑:程序博客网 时间:2024/05/22 06:10
1:单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:阻塞不确定时间,默认-1redis.pool.maxWaitMillis=1500#在获得链接的时候检查有效性,默认falseredis.pool.testOnBorrow=true#在空闲时检查有效性,默认falseredis.pool.testWhileIdle=true#连接耗尽时是否阻塞,false报异常,true阻塞超时,默认trueredis.pool.blockWhenExhausted=false#JedisConnectionFactory的参数#主机地址,默认:localhostredis.hostName=192.168.200.128#主机端口,默认:6379redis.port=6379#超时时间,默认:2000redis.timeout=3000#密码#redis.password#是否使用连接池,默认trueredis.usePool=true#使用数据库的索引,0-15之间的数字,默认:0redis.dbIndex=0#是否使用数据类型的转换,默认:true#redis.convertPipelineAndTxResults#哨兵配置#redis.sentinelConfig#集群配置#redis.clusterConfig
<?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: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}"/>        <!--可以通过构造注入或者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>
2:集群模式下  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:阻塞不确定时间,默认-1redis.pool.maxWaitMillis=1500#在获得链接的时候检查有效性,默认falseredis.pool.testOnBorrow=true#在空闲时检查有效性,默认falseredis.pool.testWhileIdle=true#连接耗尽时是否阻塞,false报异常,true阻塞超时,默认trueredis.pool.blockWhenExhausted=false#RedisClusterConfiguration配置redis.maxRedirects=5#主机和端口号redis.host1=192.168.200.128redis.port1=7000redis.host2=192.168.200.128redis.port2=7001redis.host3=192.168.200.128redis.port3=7002redis.host4=192.168.200.128redis.port4=7003redis.host5=192.168.200.128redis.port5=7004redis.host6=192.168.200.128redis.port6=7005
<?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:redis-cluster.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><!--配置RedisClusterConfiguration-->    <bean id="redisClusterConfiguration" class="org.springframework.data.redis.connection.RedisClusterConfiguration">        <property name="maxRedirects" value="${redis.maxRedirects}"></property>        <property name="clusterNodes">            <set>                <bean class="org.springframework.data.redis.connection.RedisNode">                    <constructor-arg name="host" value="${redis.host1}"/>                    <constructor-arg name="port" value="${redis.port1}"/>                </bean>                <bean class="org.springframework.data.redis.connection.RedisNode">                    <constructor-arg name="host" value="${redis.host2}"/>                    <constructor-arg name="port" value="${redis.port2}"/>                </bean>                <bean class="org.springframework.data.redis.connection.RedisNode">                    <constructor-arg name="host" value="${redis.host3}"/>                    <constructor-arg name="port" value="${redis.port3}"/>                </bean>                <bean class="org.springframework.data.redis.connection.RedisNode">                    <constructor-arg name="host" value="${redis.host4}"/>                    <constructor-arg name="port" value="${redis.port4}"/>                </bean>                <bean class="org.springframework.data.redis.connection.RedisNode">                    <constructor-arg name="host" value="${redis.host5}"/>                    <constructor-arg name="port" value="${redis.port5}"/>                </bean>                <bean class="org.springframework.data.redis.connection.RedisNode">                    <constructor-arg name="host" value="${redis.host6}"/>                    <constructor-arg name="port" value="${redis.port6}"/>                </bean>            </set>        </property>    </bean><!--配置JedisConnectionFactory-->    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">        <constructor-arg name="poolConfig" ref="jedisPoolConfig"/>        <constructor-arg name="clusterConfig" ref="redisClusterConfiguration"/>    </bean>    <!--redisTemplate-->    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">        <property name="connectionFactory" ref="jedisConnectionFactory"/>    </bean></beans>