Redis对象序列化操作:
package com.example.zcw.redis;
import org.springframework.core.convert.converter.Converter;
import org.springframework.core.serializer.support.DeserializingConverter;
import org.springframework.core.serializer.support.SerializingConverter;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
/**
* @ClassName : RedisObjectSerializer
* @Description : Redis对象序列化操作
* @Author : Zhaocunwei
* @Date: 2020-04-08 09:22
*/
public class RedisObjectSerializer implements RedisSerializer<Object> {
//为了进行对象与字节数组的转换,应准备两个转换器
private Converter<Object,byte[]> serializingConverter = new SerializingConverter();
private Converter<byte[],Object> deserializingConverter = new DeserializingConverter();
private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];//做一个空数组,不是null
@Override
public byte[] serialize(Object obj)throws SerializationException {
if(obj== null){
//如果没有要序列化的对象,则返回一个空数组
return EMPTY_BYTE_ARRAY;
}
return this.serializingConverter.convert(obj);//将对象变为字节数组
}
@Override
public Object deserialize(byte[] data)throws SerializationException{
if(data ==null || data.length ==0){
//如果没有对象内容信息
return null;
}
return this.deserializingConverter.convert(data);
}
}
创建RedisTemplate模板的配置类
配置多个RedisTemplate
编写自定义配置类