DBAtlas · Veritabanı operasyon atlası

NOSCRIPT: NOSCRIPT No matching script. Please use EVAL

Redis

Ne demek?

EVALSHA ile çağrılan Lua script'in SHA1 özeti sunucunun script önbelleğinde bulunamadı. Redis bu hash'e karşılık gelen bir script tanımıyor.

Neden olur?

Sunucunun yeniden başlatılması veya SCRIPT FLUSH ile script önbelleğinin temizlenmesi, script'in hiç yüklenmemiş olması, failover sonrası yeni düğümde önbelleğin boş olması.

Nasıl çözülür?

Script'i EVAL ile tam gövdesiyle çalıştırın (Redis otomatik önbelleğe alır) veya önce SCRIPT LOAD ile yükleyip dönen SHA'yı EVALSHA'da kullanın. Uygulamada NOSCRIPT hatasını yakalayıp EVALSHA yerine EVAL'a düşen (fallback) mantık uygulayın. Bu, birçok Redis istemci kütüphanesinde otomatik yapılır.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar