BITOP NOT не работает правильно в Redis 5.0.5 - PullRequest
0 голосов
/ 16 октября 2019

Я использую версию Redis 5.0.5. Я вижу странное поведение при работе с оператором BITOP NOT. Ниже мое наблюдение:

127.0.0.1:6379> set shank_m 111000  
OK
127.0.0.1:6379> set shank_f 000111 
OK
127.0.0.1:6379> set shank_s 100001
OK
127.0.0.1:6379> bitop or tmp1 shank_m shank_f
(integer) 6
127.0.0.1:6379> get tmp1 
"111111"     // Returns correct result for OR operator
127.0.0.1:6379> bitop not tmp2 shank_s
(integer) 6
127.0.0.1:6379> get tmp2  
"\xce\xcf\xcf\xcf\xcf\xce" //It seems that it's not performing bit operation correctly

Обратите внимание, что значение tmp2 должно быть 0111110 . Это ошибка?

1 Ответ

1 голос
/ 16 октября 2019

Вы используете это неправильно:)

Чтобы установить ключ со значениями растрового изображения / битового массива, вам нужно будет использовать команду BITSET , например:

SETBIT shank_m 0 1
SETBIT shank_m 1 1
SETBIT shank_m 2 1
SETBIT shank_f 3 1
SETBIT shank_f 4 1
SETBIT shank_f 5 1
SETBIT shank_s 0 1
SETBIT shank_s 5 1

То, что вы делаете, задает ключ как буквальное строковое значение «111000».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...