using System; using System.Collections.Generic; using System.Linq; using System.Reflection.PortableExecutable; using System.Text; using System.Threading.Tasks; using FASTER.core; using System.Xml.Linq; using CommonEntity.CacheEntity; using MemoryPack; namespace Common.Cache { public class MyValueSerializer : BinaryObjectSerializer { public override void Serialize(ref T value) { //writer.Write(IPAddress.HostToNetworkOrder(Q.Length)); // 4字节长度头 var Q = MemoryPackSerializer.Serialize(value); writer.Write(Q.Length); // 4字节长度头 writer.Write(Q); } public override void Deserialize(out T value) { int length = reader.ReadInt32(); // 读长度头 byte[] buffer = reader.ReadBytes(length); // 读数据体 value = MemoryPackSerializer.Deserialize(buffer); // 反序列化 } } }