我想使用MessagePack
,ZeroFormatter
或protobuf-net
来序列化/反序列化通用列表,并使用stackexchange.redis
客户端将其存储在Redis中。
现在我使用StringSetAsync()
方法存储JSON字符串。但我无法找到有关如何在Redis中存储byte[]
的任何文档。
答案 0 :(得分:5)
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);
}