Spring Boot引入Redis
1、添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、添加application配置
spring:
application: demo
cache:
type: redis
redis:
host: localhost
port: 6379
password:
timeout: 1000ms
jedis:
pool:
max-active: 8
max-wait: 5000ms
max-idle: 8
min-idle: 0
3、添加configuration.RedisConfig配置
@Configuration
public class RedisConfig {
@Autowired
private RedisConnectionFactory redisFactory;
@Bean
public RedisTemplate<String,Object> redisTemplate(){
RedisTemplate<String,Object> redisTemplate=new RedisTemplate<>();
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
redisTemplate.setConnectionFactory(redisFactory);
return redisTemplate;
}
@Bean
public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForHash();
}
@Bean
public ValueOperations<String, String> valueOperations(RedisTemplate<String, String> redisTemplate) {
return redisTemplate.opsForValue();
}
@Bean
public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForList();
}
@Bean
public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForSet();
}
@Bean
public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForZSet();
}
}
4、使用Reids
之后,就可以通过Spring Boot的自动注入来使用开箱即用的Redis了。
@Autowired
private RedisTemplate redisTemplate;
5、测试
@Slf4j
@SpringBootTest
public class RedisTest {
@Autowired
private RedisTemplate redisTemplate;
/**
* 测试Redis是否成功引入并可用
*/
@Test
void test() {
log.info(redisTemplate.getClass().toString());
redisTemplate.opsForValue().set("key", "value");
Object key = redisTemplate.opsForValue().get("key");
if (key == null) {
log.error("key is null");
} else {
log.info(key.toString());
}
//测试通过
}
}
测试结果