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" 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 "> <!-- 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}"/> <property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}"/> <property name="numTestsPerEvictionRun" value="${redis.numTestsPerEvictionRun}"/> <property name="softMinEvictableIdleTimeMillis" value="${redis.softMinEvictableIdleTimeMillis}"/> <property name="testOnBorrow" value="${redis.testOnBorrow}" /> <!-- <property name="testOnReturn" value="${redis.testOnReturn}"/> <property name="testWhileIdle" value="${redis.testWhileIdle}"/>--> </bean> <!-- 将session放入redis --> <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"> <!-- sesson的有效时间是60分钟 --> <property name="maxInactiveIntervalInSeconds" value="3600"/> </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}" /> <property name="password" value="${redis.auth}"></property> <!-- 超时时间 默认2000--> <property name="timeout" value="${redis.timeout}" /> <property name="database" value="${redis.dbIndex}"/> <!-- 连接池配置引用 --> <property name="poolConfig" ref="poolConfig" /> <!-- usePool:是否使用连接池 --> <property name="usePool" value="${redis.usePool}"/> <!-- <constructor-arg name="sentinelConfig" ref="redisSentinelConfiguration"></constructor-arg> --> </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.GenericJackson2JsonRedisSerializer" /> </property> <property name="hashKeySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/> </property> <property name="hashValueSerializer"> <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"/> </property> <!--开启事务 --> <property name="enableTransactionSupport" value="true"></property> </bean> <!--<bean id="redisSentinelConfiguration" class="org.springframework.data.redis.connection.RedisSentinelConfiguration"> <property name="master"> <bean class="org.springframework.data.redis.connection.RedisNode"> <property name="name" value="mymaster"> </property> </bean> </property> <property name="sentinels"> <set> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="127.0.0.1" /> <constructor-arg name="port" value="26379" /> </bean> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="127.0.0.1" /> <constructor-arg name="port" value="26380" /> </bean> <bean class="org.springframework.data.redis.connection.RedisNode "> <constructor-arg name="host" value="127.0.0.1" /> <constructor-arg name="port" value="26382" /> </bean> </set> </property> </bean>--> </beans>
redis .properties配置
redis.host = localhost redis.port = 6379 redis.auth = root123456abc redis.maxTotal = 100 redis.maxIdle = 20 redis.maxWaitMillis = 10000 redis.testOnBorrow = true redis.testOnReturn = true redis.dbIndex = 3 redis.timeout = 5000 redis.usePool = true redis.minEvictableIdleTimeMillis = 2000 redis.numTestsPerEvictionRun = 2000 redis.softMinEvictableIdleTimeMillis = 2000
maven
<jedis.version>2.9.0</jedis.version> <spring.redis.version>1.8.13.RELEASE</spring.redis.version> <spring-session.version>1.3.3.RELEASE</spring-session.version>
<!--spring-session Begin--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>${spring-session.version}</version> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <exclusions> <exclusion> <artifactId>spring-core</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>spring-beans</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>spring-context</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> <version>${spring-session.version}</version> </dependency> <!--spring-session end--> <!--redis--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>${spring.redis.version}</version> <!--<exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> </exclusions>--> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis.version}</version> </dependency>