Вы получаете эту ошибку, потому что пытаетесь получить доступ к ключу 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
.