DBAtlas · Atlas d'exploitation des bases de données

NOSCRIPT: NOSCRIPT No matching script. Please use EVAL (aucun script correspondant)

Redis

Que signifie cette erreur ?

Le condensé SHA1 du script Lua appelé avec EVALSHA est introuvable dans le cache de scripts du serveur. Redis ne connaît aucun script correspondant à ce hash.

Cause

Le serveur a été redémarré ou le cache de scripts a été vidé avec SCRIPT FLUSH, le script n'a jamais été chargé, ou le cache est vide sur le nouveau nœud après un failover.

Comment la corriger

Exécutez le script avec son corps complet via EVAL (Redis le met automatiquement en cache), ou chargez-le d'abord avec SCRIPT LOAD et utilisez le SHA renvoyé dans EVALSHA. Dans l'application, interceptez l'erreur NOSCRIPT et implémentez une logique de repli d'EVALSHA vers EVAL. De nombreuses bibliothèques clientes Redis le font automatiquement.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur