♻️ Refactored the cache service
This commit is contained in:
21
DysonNetwork.Shared/Cache/MessagePackCacheSerializer.cs
Normal file
21
DysonNetwork.Shared/Cache/MessagePackCacheSerializer.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using MessagePack;
|
||||
|
||||
namespace DysonNetwork.Shared.Cache;
|
||||
|
||||
public class MessagePackCacheSerializer(MessagePackSerializerOptions? options = null) : ICacheSerializer
|
||||
{
|
||||
private readonly MessagePackSerializerOptions _options = options ?? MessagePackSerializerOptions.Standard
|
||||
.WithCompression(MessagePackCompression.Lz4BlockArray);
|
||||
|
||||
public string Serialize<T>(T value)
|
||||
{
|
||||
var bytes = MessagePackSerializer.Serialize(value!, _options);
|
||||
return Convert.ToBase64String(bytes);
|
||||
}
|
||||
|
||||
public T? Deserialize<T>(string data)
|
||||
{
|
||||
var bytes = Convert.FromBase64String(data);
|
||||
return MessagePackSerializer.Deserialize<T>(bytes, _options);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user