redisConfig和redis三种模式
2021-03-19 本文已影响0人
thinking2019
RedisConfig
@Configuration
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT480S")
public class RedisConfig {
@Bean
LettuceConnectionFactory lettuceConnectionFactory(RedisProperties redisProperties) {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
redisStandaloneConfiguration.setDatabase(redisProperties.getDatabase());
redisStandaloneConfiguration.setHostName(redisProperties.getHost());
redisStandaloneConfiguration.setPort(redisProperties.getPort());
redisStandaloneConfiguration.setPassword(RedisPassword.of(redisProperties.getPassword()));
LettuceClientConfiguration.LettuceClientConfigurationBuilder lettuceClientConfigurationBuilder = LettuceClientConfiguration.builder();
LettuceConnectionFactory factory = new LettuceConnectionFactory(redisStandaloneConfiguration,
lettuceClientConfigurationBuilder.build());
return factory;
}
@Bean
public StringRedisSerializer stringRedisSerializer() {
return new StringRedisSerializer();
}
@Bean
public JdkSerializationRedisSerializer jdkSerializationRedisSerializer() {
return new JdkSerializationRedisSerializer();
}
@Bean("redisTemplate")
public RedisTemplate redisTemplate(LettuceConnectionFactory lettuceConnectionFactory, StringRedisSerializer stringRedisSerializer,
JdkSerializationRedisSerializer jdkRedisSerializer){
RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(lettuceConnectionFactory);
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(jdkRedisSerializer);
return redisTemplate;
}
@Bean("stringRedisTemplate")
public StringRedisTemplate stringRedisTemplate(LettuceConnectionFactory lettuceConnectionFactory){
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(lettuceConnectionFactory);
return stringRedisTemplate;
}
@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();
}
}