Скрипт Lua на Redis Cluster

Вы можете использовать xpath (HTML-кодированный контент совпадает с содержимым, кодированным XML):

select 
  'AT&T' as input ,
  (xpath('/z/text()', ('<z>' || 'AT&amp;T' || '</z>')::xml))[1] as output 
0
задан Davide Non-Vattelapesca 17 January 2019 в 13:15
поделиться

1 ответ

Вы получаете эту ошибку, потому что пытаетесь получить доступ к ключу Redis с именем TEST, но не сообщайте об этом Redis или вашему клиенту Redis, указав его в команде EVAL.

Скрипты Redis Lua принимают два списка аргументов, один - общего назначения (ARGV[]), а другой - строгий список ключей, к которым скрипт будет обращаться (KEYS[]).

Возможно, вы поменяли имя ключа и имя поля в вызове HEXISTS, т. Е. Вам может понадобиться использовать:

if redis.call('HEXISTS', KEYS[1], 'TEST') == 1
    then 
        redis.call('HSET', KEYS[1], 'TEST', ARGV[1])
        return 1
    end
return 0

Это должно работать, пока имя ключа правильно передается команда EVAL.

0
ответ дан yossi 17 January 2019 в 13:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: