Сообщения Redis содержат Unicode? - PullRequest
1 голос
/ 02 мая 2019

В настоящее время я выполняю чтение с сервера Redis и с монитора Redis-Cli. Я получаю сообщения, которые публикуются с данными между Unicode, которые выглядят так:

\ x93 \ xa6Xz05FH \ x83 \ xa4type \ x02 \ xa4data \ x92 \ xad

Это сгенерировано из-за чего-то, связанного с Redis, или из-за оригинального издателя?

Если я публикую сообщения, нет присоединенного Unicode, поэтому мне трудно поверить, что это делает Redis, но я хочу быть уверен.

1 Ответ

0 голосов
/ 02 мая 2019

Redis не заботится о формате вещей, если вы не используете числовые операторы, такие как incr, hincrby и т.д .; кроме этого, строки, поля хеш-функции, полезные нагрузки pub / sub и т. д. являются непрозрачными двоичными значениями, которые определяются исключительно как , что указано клиентом . Поскольку вы упоминаете StackExchange.Redis, если вы используете .NET string для заполнения RedisValue, то этот string будет кодироваться с UTF-8. Однако существуют и другие способы заполнения RedisValue для указания произвольной двоичной полезной нагрузки, наиболее распространенным из которых будет byte[].

Возможно, что redis-cli - так как это текстовый инструмент - переключается на это представление с помощью простой эвристики «выглядит ли что-то не ASCII / не для печати» - что \x02 выглядит особенно подозрительно (это STX?). Но фактические данные, проходящие через redis на publish, являются необработанными двоичными данными.

...