Как сохранить байтовый массив в StackExchange.Redis? - PullRequest
0 голосов
/ 06 июня 2018

Я хочу использовать MessagePack, ZeroFormatter или protobuf-net для сериализации / десериализации общего списка и сохранения его в Redis с помощью клиента stackexchange.redis.

Теперь я сохраняюСтрока JSON с методом StringSetAsync().Но я не могу найти документацию о том, как хранить byte[] в Redis.

1 Ответ

0 голосов
/ 06 июня 2018

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);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...