2016-03-04 4 views
0

Я использую Redis для временного хранения кода captcha и мобильного кода. Когда я set captcha, я использую: Redis.set('captcha' + remoteIP, text);Каков правильный способ установки префикса ключа в Redis?

Я вижу ключ captcha:127.0.0.1 в GUI-менеджере. Redis автоматически распознал captcha как префикс. Если я использую Redis.set('captcha:' + remoteIP, text), key будет captcha::127.0.0.1.

Но когда я set код Redis.set('code' + mobile, code);, фактический key - code1xxxxxxxxxx, без префикса. Я должен использовать Redis.set('code:' + mobile, code), тогда он работает.

Я использую последний node_redis клиент в Node.js 5.2.0.

ответ

3

Ваша переменная remoteIP уже содержит :. Redis не распознал, что captcha был префиксом и добавил двоеточие, ему просто сказали использовать все, что было оценено как выражение 'captcha' + remoteIP, в данном случае это captcha:127.0.0.1, с remoteIP === ':127.0.0.1.

+0

Несомненно. Это глупая ошибка. Спасибо. –

+1

Имейте в виду, что Redis ничего не знает о префиксах. Его просто особенность конкретного менеджера графического интерфейса. – misterion

Смежные вопросы