以下是自定义 RedisTemplate 固定模板,拿来可以直接使用:
package com.iot.back.message.process.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* <p>RedisTemplate 此类用于:这是自定义的 RedisTemplate 的固定模板,拿来就可以直接使用 </p>
* <p>@author:hujm</p>
* <p>@date:2022年10月18日 15:32</p>
* <p>@remark:</p>
*/
@Configuration
public class RedisConfig {
/**
* 这是自定义的 RedisTemplate 的固定模板,拿来就可以直接使用
*
* @param redisConnectionFactory redis的连接工厂
* @return 自定义的 RedisTemplate
*/
@Bean
@SuppressWarnings("all")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
// 我们为了自己开发方便,一般都是直接使用<String, Object>
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
// Json 序列化配置
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
// String 的序列化
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
// key 采用String的序列化方式
redisTemplate.setKeySerializer(stringRedisSerializer);
// value 序列化方式采用 jackson
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
// hash 的key也采用String的序列化方式
redisTemplate.setHashKeySerializer(stringRedisSerializer);
// hash 的value也采用jackson的序列化方式
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
完结!
标签:自定义,Redis,springframework,RedisTemplate,org,import,序列化,redisTemplate From: https://blog.51cto.com/u_16128050/6343407