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

Tad*_*dej 4 protobuf-net redis msgpack stackexchange.redis zeroformatter

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

现在我正在使用该StringSetAsync()方法存储JSON字符串.但我找不到任何关于如何byte[]在Redis中存储的文档.

Tom*_*ski 7

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);
        }
Run Code Online (Sandbox Code Playgroud)

  • (赞赏地点头) (3认同)