NOSCRIPT: NOSCRIPT No matching script. Please use EVAL
RedisO que significa?
O digest SHA1 do script Lua chamado com EVALSHA não foi encontrado no script cache do servidor. O Redis não conhece um script correspondente a esse hash.
Por que acontece?
O servidor foi reiniciado ou o script cache foi limpo com SCRIPT FLUSH, o script nunca foi carregado, ou o cache está vazio no novo nó após um failover.
Como resolver
Execute o script com o corpo completo via EVAL (o Redis o armazena em cache automaticamente), ou carregue-o primeiro com SCRIPT LOAD e use o SHA retornado no EVALSHA. Na aplicação, capture o erro NOSCRIPT e implemente uma lógica de fallback de EVALSHA para EVAL. Muitas bibliotecas cliente do Redis fazem isso automaticamente.
Mais entradas deste banco
- CROSSSLOTCROSSSLOT Keys in request don't hash to the same slot
- MOVEDMOVED slot ip:port (cluster redirect)
- ASKASK slot ip:port (cluster redirect)
- EXECABORTEXECABORT Transaction discarded because of previous errors
- NOPERMNOPERM this user has no permissions to run the command or access one of the keys
- ERR value is not an integer or out of rangeERR value is not an integer or out of range
- ERR value is not a valid floatERR value is not a valid float