本文主要是介绍自定义redisTemplate实现自定义序列化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于我们使用springboot集成的redis工具的时候,redisTemplate内部是采用了jdk默认的序列化工具来对我们存储的数据进行序列化的,这会导致我们在redis中存储的序列化后的数据和我们原来的数据格式在查看的时候会有偏差,所以我们需要自定义redisTemplate对象并自定义他的序列化方式这样才可以达到我们理想的数据存储效果
package com.example.cybg.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.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer;@Configuration public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){//创建redisTemplate对象RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();//设置连接工厂redisTemplate.setConnectionFactory(redisConnectionFactory);//创建json序列化工具GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();//设置key的序列化redisTemplate.setKeySerializer(RedisSerializer.string());redisTemplate.setHashKeySerializer(RedisSerializer.string());//设置value的序列化redisTemplate.setValueSerializer(jsonRedisSerializer);redisTemplate.setHashValueSerializer(jsonRedisSerializer);return redisTemplate;} }
这篇关于自定义redisTemplate实现自定义序列化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!