DBAtlas · Database operations atlas

NOSCRIPT: NOSCRIPT No matching script. Please use EVAL

Redis

What does it mean?

The SHA1 digest of the Lua script called with EVALSHA was not found in the server's script cache. Redis does not know a script corresponding to this hash.

Why does it happen?

The server was restarted or the script cache was cleared with SCRIPT FLUSH, the script was never loaded, or the cache is empty on the new node after a failover.

How to fix it

Run the script with its full body via EVAL (Redis caches it automatically), or load it first with SCRIPT LOAD and use the returned SHA in EVALSHA. In the application, catch the NOSCRIPT error and implement fallback logic from EVALSHA to EVAL. Many Redis client libraries do this automatically.

Open in DBAtlas →

More from this engine