script exists 命令

script exists 命令用于校验指定的脚本是否已经被保存在缓存当中。

SCRIPT EXISTS 在执行管道命令前(pipelining operation)非常有用,它确保脚本已被缓存(检测出来没有缓存的命令,先使用 SCRIPT LOAD 缓存),这样管道技术可以使用 EVALSHA 来代替 EVAL ,从而节省带宽(bandwidth)。

语法

SCRIPT EXISTS sha1[sha1 ...]

这个命令可以接受一个或者多个脚本 SHA1 信息,返回一个1或者0的列表,1代表脚本存在,0代表脚本不存在。

返回值

返回对应于每一个SHA1的数组,脚本存在返回1,不存在的返回0。

列表中的元素和给定的 SHA1 校验和保持对应关系,比如列表的第三个元素的值就表示第三个 SHA1 校验和所指定的脚本在缓存中的状态。

实例

redis> SCRIPT LOAD "return 'hello moto'"    # 载入一个脚本
"232fd51614574cf0867b83d384a5e898cfd24e5a"

redis> SCRIPT EXISTS 232fd51614574cf0867b83d384a5e898cfd24e5a
1) (integer) 1

redis> SCRIPT FLUSH     # 清空缓存
OK

redis> SCRIPT EXISTS 232fd51614574cf0867b83d384a5e898cfd24e5a
1) (integer) 0