DBAtlas · Атлас эксплуатации баз данных

NOSCRIPT: NOSCRIPT: подходящий скрипт не найден. Используйте EVAL

Redis

Что это значит?

Дайджест SHA1 скрипта Lua, вызванного через EVALSHA, не найден в кэше скриптов сервера. Redis не знает скрипта, соответствующего этому хешу.

Почему возникает?

Сервер был перезапущен или кэш скриптов очищен командой SCRIPT FLUSH, скрипт никогда не загружался или кэш пуст на новом узле после failover.

Как исправить

Выполните скрипт с полным телом через EVAL (Redis кэширует его автоматически) или сначала загрузите его через SCRIPT LOAD и используйте возвращённый SHA в EVALSHA. В приложении перехватывайте ошибку NOSCRIPT и реализуйте резервную логику перехода с EVALSHA на EVAL. Многие клиентские библиотеки Redis делают это автоматически.

Открыть в DBAtlas →

Ещё по этой СУБД