spring-data-redis 使用 protobuf进行序列化和反序列

spring-data-redis 使用 protobuf进行序列化和反序列_第1张图片

这是spring配置,protostuff有一个特点就是你反序列化的时候需要指定反序列化的类型Class,而如果按常规spring-data-redis规范,只能实现RedisSerializer接口,其中反序列化接口T deserialize(byte[] bytes) throws SerializationException;无法指定Class,所以换个思路,我们在调用redisTemplate操作的时候不是直接放对象而是直接放序列化后的byte[],而反序列化的时候获取byte[]再通过protostuff转为对应的class。注意一点是enableDefaultSerializer这个属性要置为false,并且不要配置valueSerializer因为如果不设置该属性RedisTemplate初始化的时候会指定默认的序列化也就是JdkSerializationRedisSerializer来作为序列化和反序列化。

spring-data-redis 使用 protobuf进行序列化和反序列_第2张图片spring-data-redis 使用 protobuf进行序列化和反序列_第3张图片

spring-data-redis 使用 protobuf进行序列化和反序列_第4张图片

你可能感兴趣的:(开源框架)