NOSCRIPT: NOSCRIPT No matching script. Please use EVAL (no hay script coincidente; use EVAL)
Redis¿Qué significa?
El digest SHA1 del script Lua llamado con EVALSHA no se encontró en la caché de scripts del servidor. Redis no conoce ningún script correspondiente a este hash.
¿Por qué ocurre?
El servidor se reinició o la caché de scripts se vació con SCRIPT FLUSH, el script nunca se cargó o la caché está vacía en el nuevo nodo tras un failover.
Cómo solucionarlo
Ejecute el script con su cuerpo completo mediante EVAL (Redis lo almacena en caché automáticamente), o cárguelo primero con SCRIPT LOAD y use el SHA devuelto en EVALSHA. En la aplicación, capture el error NOSCRIPT e implemente una lógica de respaldo de EVALSHA a EVAL. Muchas bibliotecas cliente de Redis lo hacen automáticamente.
Más entradas de este motor
- CROSSSLOTCROSSSLOT Keys in request don't hash to the same slot (las claves de la solicitud no van al mismo slot)
- MOVEDMOVED slot ip:port (redirección del clúster)
- ASKASK slot ip:port (redirección del clúster)
- EXECABORTEXECABORT Transaction discarded because of previous errors (transacción descartada por errores previos)
- NOPERMNOPERM this user has no permissions to run the command or access one of the keys (el usuario no tiene permisos para el comando o la clave)
- ERR value is not an integer or out of rangeERR value is not an integer or out of range (el valor no es un entero o está fuera de rango)
- ERR value is not a valid floatERR value is not a valid float (el valor no es un float válido)