Репликация MySQL: временно предотвратите определенное тиражирование SQL-операторов в ведомые устройства?

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

7
задан Nautical 10 December 2008 в 06:07
поделиться

1 ответ

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 ;
15
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

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