maven文件
<!-- redis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis.version}</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>${spring-data-redis.version}</version> </dependency>
1.redis配置文件redis.properties
#redis的服务器地址 redis.host=127.0.0.1 #redis的服务端口 redis.port=6379 #密码 redis.password= #链接数据库 redis.default.db=0 #客户端超时时间单位是毫秒 redis.timeout=100000 #最大连接数 redis.maxActive=300 #最大空闲数 redis.maxIdle=100 #最大建立连接等待时间 redis.maxWaitMillis=1000
2.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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <context:property-placeholder location="classpath:redis.properties"/> <!-- Redis 配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.maxActive}"/> <property name="maxIdle" value="${redis.maxIdle}"/> <property name="maxWaitMillis" value="${redis.maxWaitMillis}"/> <property name="testOnBorrow" value="true"/> </bean> <!-- redis单节点数据库连接配置 --> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="${redis.host}"/> <property name="port" value="${redis.port}"/> <property name="password" value="${redis.password}"/> <property name="poolConfig" ref="jedisPoolConfig"/> </bean> <!-- redisTemplate配置 --> <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"/> </bean> </beans>
3.web.xml中读取spring配置文件
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:spring-*.xml </param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param>
这样redis在项目中就算配好了
4.redis工具类
package com.mz.usps.common.component; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.concurrent.TimeUnit; /** * Redis模板 * * @author sjl * @date 2018-03-12 15:18 **/ @Component public class RedisCache { @Resource private RedisTemplate redisTemplate; public void setValue(Object key, Object value) { redisTemplate.opsForValue().set(key, value); } public void setValue(Object key, Object value, long timeout, TimeUnit unit) { redisTemplate.opsForValue().set(key, value, timeout, unit); } public Object getValue(Object key) { Object value = redisTemplate.opsForValue().get(key); return value; } }
5.Redis使用实战
在哪个类中使用
@Autowired
RedisCache redisCache;
加到哪个类中
6.方法中存值
redisCache.setValue(token, "1", 1, TimeUnit.DAYS); token为key值 "1"为value 1时间 TimeUnit.DAYS为时间单位
将key value 存入redis中一天