redis - redis-py 是否会自动使用 evalsha 来注册脚本?

标签 redis redis-py

当我将Lua脚本注册到redis客户端时:

script = redis_client.register_script(lua_string)

然后使用默认客户端运行脚本:

script(keys, args)

这会在内部自动使用 evalsha 还是每次都会将整个脚本发送到服务器?

最佳答案

是的。这是(删节)source code :

class Script(object):
    def __call__(self, keys=[], args=[], client=None):
        if isinstance(client, BasePipeline):
            # Make sure the pipeline can register the script before executing.
            client.scripts.add(self)

        return client.evalsha(self.sha, len(keys), *args)

关于redis - redis-py 是否会自动使用 evalsha 来注册脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41126256/

相关文章:

ruby-on-rails - Redis 和 SSE Rails 4

caching - Redis 复制和 LFU 缓存

redis - 确定 Redis 管道中的操作数

redis - python redis 扫描和刷新导致锁定?

python - 名称错误 : name 'redis' is not defined - PySpark - Redis

redis - redis-4.0.11的集群模式是否需要Sentinel?

database - 具有设置数据类型的键值数据库

python - redis - 使用哈希

python - 如何使用Python解析Redis流数据?

python - redis-py 有 NUMSUB 命令吗?