import java.nio.ByteBuffer;
import org.springframework.data.redis.serializer.RedisElementReader;
import org.springframework.data.redis.serializer.RedisElementWriter;
import org.springframework.data.redis.serializer.RedisSerializationContext.SerializationPair;
import org.springframework.stereotype.Component;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.ByteBufferInputStream;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import com.esotericsoftware.kryo.pool.KryoPool;
@Component
public class KryoObjectSerializer implements SerializationPair<Object> {
/** Kryo池 */
KryoPool kryoPool = new KryoPool.Builder(Kryo::new).build();
private Kryo getKryo() {
Kryo kryo = kryoPool.borrow();
// 设置类加载器,应对ClassCastException异常
// 如果不设置的话,使用spring-boot-devtools时,会抛异常
kryo.setClassLoader(getClass().getClassLoader());
re
spring redis 缓存使用kryo做序列化
最新推荐文章于 2024-05-07 13:55:26 发布