ssm项目添加redis配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39598417/article/details/84304866

第一步:添加redis的maven配置,在pom.xml中

<!-- redis 相关配置 -->
		<!-- 通过redis.clients.jedis.JedisPool来管理,即通过池来管理,通过池对象获取jedis实例,然后通过
		jedis实例直接操作redis服务,剔除了与业务无关的冗余代码 -->


		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0</version>
		</dependency>
		<!-- 通过org.springframework.data.redis.connection.jedis.JedisConnectionFactory来管理,
		即通过工厂类管理,然后通过配置的模版bean,操作redis服务,代码段中充斥大量与业务无关的模版片段代码,代码冗余,
		不易维护 -->


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

第二步:添加redis的配置文件redis.properties

redis.host=127.0.0.1
redis.port=6379
redis.password=wyx
#最大空闲时间
redis.maxIdle=600
#最大连接数
redis.maxTotal=6000
#最大等待时间
redis.maxWaitMillis=1000
#链接超时是否阻塞false报异常true阻塞知道超时
redis.blockWhenExhausted=true
#返回连接时检测是否来连接成功
redis.testOnBorrow=true
#超时时间
redis.timeout=1000
#缓存失效时间
defaultCacheExpireTime=60

第三步:配置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:context="http://www.springframework.org/schema/context"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

	<!-- 加载配置文件 -->  
    <context:property-placeholder location="classpath:resource/redis.properties" /> 
    <!-- redis数据源 -->
    <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 最大空闲数 -->
        <property name="maxIdle" value="${redis.maxIdle}" />
        <!-- 最大空连接数 -->
        <property name="maxTotal" value="${redis.maxTotal}" />
        <!-- 最大等待时间 -->
        <property name="maxWaitMillis" value="${redis.maxWaitMillis}" />
        <!-- 连接超时时是否阻塞,false时报异常,ture阻塞直到超时, 默认true -->
         <property name="blockWhenExhausted" value="${redis.blockWhenExhausted}" /> 
        <!-- 返回连接时,检测连接是否成功 -->
        <property name="testOnBorrow" value="${redis.testOnBorrow}" />
    </bean>

    <!-- Spring-redis连接池管理工厂 -->
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <!-- IP地址 -->
        <property name="hostName" value="${redis.host}" />
        <!-- 端口号 -->
        <property name="port" value="${redis.port}" />
        <!-- 超时时间 默认2000-->
        <property name="timeout" value="${redis.timeout}" />
        <!-- 连接池配置引用 -->
        <property name="poolConfig" ref="poolConfig" />
        <!-- usePool:是否使用连接池 -->
        <property name="usePool" value="true"/>
    </bean>

    <!-- redis template definition -->
    <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
        <property name="connectionFactory" ref="jedisConnectionFactory" />
        <property name="keySerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="valueSerializer">
            <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
        </property>
        <property name="hashKeySerializer">
            <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
        </property>
        <property name="hashValueSerializer">
            <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
        </property>
         <!--开启事务  -->  
        <property name="enableTransactionSupport" value="true"></property>  
    </bean>
    
    <!--自定义redis工具类,在需要缓存的地方注入此类  -->  
    <bean id="redisrCacheManager" class="com.phil.common.redis.RedisCacheManager">  
        <property name="redisTemplate" ref="redisTemplate" />  
    </bean> 
</beans>

猜你喜欢

转载自blog.csdn.net/qq_39598417/article/details/84304866
今日推荐