File: //var/chroot/var/www/wp-content/mu-plugins/object-cache-pro/src/ObjectCaches/scripts/scan.lua
if redis.REDIS_VERSION == nil then
redis.replicate_commands()
end
local command, results, patterns, cursor, total = nil, {}, {}, 0, 0
if ARGV[#ARGV] == 'use-argv' then
command = ARGV[2]
table.insert(patterns, ARGV[1])
else
command = ARGV[1]
patterns = KEYS
end
for i, pattern in ipairs(patterns) do
repeat
results = redis.call('SCAN', cursor, 'MATCH', pattern, 'COUNT', 500)
if #results > 1 and #results[2] > 0 then
for i, key in ipairs(results[2]) do
redis.call(command, key);
total = total + 1
end
end
cursor = tonumber(results[1])
until cursor == 0
end
return total