andymccurdy/redis-py — pull request #556 by endophage (2014-11-17 23:19:31+00:00)
Title: Check if Script.sha is None. 

It's nonsensical to make a network call that's guaranteed to fail.

When a script object is instantiated, unless the dev manually sets the script_instance.sha attribute, it will always call evalsha the first time with an empty string. This will always fail, fall through to the except, and set the sha.

Especially in a large scale applications, there is a high probability the redis server already has the script.