Вы получаете эту ошибку, потому что пытаетесь получить доступ к ключу 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
.
SET sql_log_bin=0
то, что Вы ищете. Требует СУПЕР priv., и выключит журналирование команд от Вашей сессии, пока Вы не задержите его к 1. См. http://dev.mysql.com/doc/refman/5.0/en/server-session-variables.html#sysvar_sql_log_bin
SET sql_log_bin=0;
UPDATE ... ;
INSERT ... ;
DELETE ... ;
SET sql_log_bin=1 ;