如何将字节数组存储到 StackExchange.Redis?

15

我想使用 MessagePackZeroFormatterprotobuf-net 对通用列表进行序列化/反序列化,并使用 stackexchange.redis 客户端将其存储在 Redis 中。

目前我使用 StringSetAsync() 方法存储 JSON 字符串。但我找不到有关如何在 Redis 中存储 byte[] 的任何文档。

1个回答

24

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);
        }

13
感谢您的认可。 - Marc Gravell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接