本文只实现业务核心模块
1.redis配置类(config)
@Configuration
public class RedisConfig {
@Bean
@SuppressWarnings("all")
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(factory);
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
template.setKeySerializer(stringRedisSerializer);
template.setHashKeySerializer(stringRedisSerializer);
template.setValueSerializer(jackson2JsonRedisSerializer);
template.setHashValueSerializer(jackson2JsonRedisSerializer);
template.afterPropertiesSet();
return template;
}
}
2.封装redis基本的curd工具类
@Component
public class RedisCommonUtil {
@Autowired
private RedisTemplate redisTemplate;
public boolean hasKey(Object key) {
return redisTemplate.hasKey(key);
}
public Object get(Object key) {
if (hasKey(key)) {
return redisTemplate.opsForValue().get(key);
} else {
return new RuntimeException("查询" + key.toString() + "不存在");
}
}
public boolean delete(String key) {
boolean result = false;
if (!hasKey(key)) {
System.out.println("查询key=" + key + "不存在");
} else {
result = redisTemplate.delete(key);
}
return result;
}
public boolean delete(String... keys) {
boolean result = false;
if (!hasKey(keys)) {
System.out.println("查询" + keys.toString() + "不存在");
} else {
result = redisTemplate.delete((keys));
}
return result;
}
public void rename(String oldKey, String newKey) {
redisTemplate.rename(oldKey, newKey)