pom中引入
<!-- Redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
1、application.properties配置
#Redis
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=192.168.80.*
# Redis服务器连接端口
spring.redis.port=8001
# Redis服务器连接密码(默认为空)
spring.redis.password=***
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=60
2、RedisConfiguration
package com.example.SpringBootDemo.configuration;
import java.lang.reflect.Method;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.interceptor.KeyGenerator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
@EnableCaching
public class RedisConfiguration extends CachingConfigurerSupport
{
@Bean
public KeyGenerator keyGenerator()
{
return new KeyGenerator()
{
@Override
public Object generate(Object target, Method method, Object... params)
{
StringBuilder sb = new StringBuilder();
sb.append(target.getClass().getName());
sb.append(method.getName());
for(Object object : params)
{
sb.append(object.toString());
}
return sb.toString();
}
};
}
@Bean
public CacheManager cacheManage(RedisConnectionFactory factory)
{
RedisCacheManager cacheManage = RedisCacheManager.create(factory);
return cacheManage;
}
@Bean (name = "redisTemplate")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)
{
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(keySerializer());
redisTemplate.setHashKeySerializer(keySerializer());
redisTemplate.setValueSerializer(valueSerializer());
redisTemplate.setHashValueSerializer(valueSerializer());
return redisTemplate;
}
private RedisSerializer<String> keySerializer()
{
return new StringRedisSerializer();
}
private RedisSerializer<Object> valueSerializer()
{
return new GenericJackson2JsonRedisSerializer();
}
}
3、Controller返回查询redis后得值并返回
@RequestMapping ("redis")
public Object redis()
{
redisTemplate.opsForValue().set("TEST_LC", "123", 600, TimeUnit.SECONDS);
ValueOperations operations = redisTemplate.opsForValue();
Object o = operations.get("TEST_LC");
System.out.println(o);
return o.toString();
}
4、test