我想使用 MessagePack
、ZeroFormatter
或 protobuf-net
对通用列表进行序列化/反序列化,并使用 stackexchange.redis
客户端将其存储在 Redis 中。
目前我使用 StringSetAsync()
方法存储 JSON 字符串。但我找不到有关如何在 Redis 中存储 byte[]
的任何文档。
我想使用 MessagePack
、ZeroFormatter
或 protobuf-net
对通用列表进行序列化/反序列化,并使用 stackexchange.redis
客户端将其存储在 Redis 中。
目前我使用 StringSetAsync()
方法存储 JSON 字符串。但我找不到有关如何在 Redis 中存储 byte[]
的任何文档。
StackExchange.Redis
使用RedisValue
表示Redis中存储的不同类型的值,因此它提供了隐式转换操作符(用于byte[]
等)。请仔细阅读StackExchange.Redis / Basic Usage / Values,因为在该章节的第三句话中你可以找到:
然而,除了文本和二进制内容之外,...
这基本上意味着你可以使用IDatabase.StringSet()
来存储基本值(Redis通常认为其为“字符串”,因为还有其他类型,如集合、哈希等)-无论是字符串还是字节数组。
using (var multiplexer = ConnectionMultiplexer.Connect("localhost:6379"))
{
byte[] byteArray = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
var db = multiplexer.GetDatabase();
db.StringSet("bytearray", byteArray);
}