Docker入門實踐筆記(三)一篇文章搞懂Docker下安裝Redis,以及Redis與SpringBoot整合
阿新 • • 發佈:2018-12-17
@Configuration
public class RedisConfig {
/**
* 注入 RedisConnectionFactory
*/
@Autowired
RedisConnectionFactory redisConnectionFactory;
/**
* 例項化 RedisTemplate 物件
*
*/
@Bean
public RedisTemplate<String, Object> createRedisTemplate() {
RedisTemplate <String, Object> redisTemplate = new RedisTemplate<>();
initializeRedisTemplate(redisTemplate, redisConnectionFactory);
return redisTemplate;
}
/**
* 設定資料存入 redis 的序列化方式
*
*/
private void initializeRedisTemplate(RedisTemplate<String, Object> redisTemplate, RedisConnectionFactory redisConnectionFactory) {
redisTemplate.setKeySerializer( new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());
redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
redisTemplate.setConnectionFactory(redisConnectionFactory);
}
/**
* 例項化 HashOperations 物件,可以使用 Hash 型別操作
*
*/
@Bean
public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForHash();
}
/**
* 例項化 ValueOperations 物件,可以使用 String 操作
*
*/
@Bean
public ValueOperations<String, Object> valueOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForValue();
}
/**
* 例項化 ListOperations 物件,可以使用 List 操作
*
*/
@Bean
public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForList();
}
/**
* 例項化 SetOperations 物件,可以使用 Set 操作
*
*/
@Bean
public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForSet();
}
/**
* 例項化 ZSetOperations 物件,可以使用 ZSet 操作
*
*/
@Bean
public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate) {
return redisTemplate.opsForZSet();
}
}