package xyz.fortern.config; 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.JdkSerializationRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration public class RedisConfig { @Bean//("objectRedisTemplate") public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){ //redis模板对象 RedisTemplate template = new RedisTemplate<>(); //设置连接工厂 template.setConnectionFactory(redisConnectionFactory); //设置自定义序列化方式 //key:字符串类型,使用string的序列化方式 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); //value是object类型,使用fastjson的序列化方式,直接序列化对象 //FastJsonRedisSerializer fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class); JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer(); //指定序列化和反序列化方式 template.setKeySerializer(stringRedisSerializer); template.setValueSerializer(jdkSerializationRedisSerializer); template.setHashKeySerializer(stringRedisSerializer); template.setHashValueSerializer(jdkSerializationRedisSerializer); //初始化模板 template.afterPropertiesSet(); return template; } //@Bean("hashRedisTemplate") public RedisTemplate hashRedisTemplate(RedisConnectionFactory redisConnectionFactory){ //redis模板对象 RedisTemplate template = new RedisTemplate<>(); //设置连接工厂 template.setConnectionFactory(redisConnectionFactory); //设置自定义序列化方式 //key:字符串类型,使用string的序列化方式 StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); //value是object类型,使用fastjson的序列化方式,直接序列化对象 //FastJsonRedisSerializer fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class); JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer(); //指定序列化和反序列化方式 template.setKeySerializer(stringRedisSerializer); template.setValueSerializer(jdkSerializationRedisSerializer); template.setHashKeySerializer(stringRedisSerializer); template.setHashValueSerializer(jdkSerializationRedisSerializer); //初始化模板 template.afterPropertiesSet(); return template; } }