#redis #lua
#redis #lua
Вопрос:
Я хочу подсчитать потребление памяти ключа с помощью следующего кода, но получаю ошибку
@user_script:22: @user_script: 22: Неизвестная команда Redis, вызванная из сценария Lua
. Я могу вызвать команду «ИСПОЛЬЗОВАНИЕ ПАМЯТИ» в командной строке. Почему в сценарии Lua?
for i,v in ipairs(match) do
local val = redis.call('TYPE',v)
if val.ok == 'list' then
local llength = redis.call('LLEN',v)
if llength> ll.max then
ll.max = llength
ll.key = v
end
local lbyte = redis.call('MEMORY USAGE',v)
if lbyte > lb.bytes then
lb.max = lbyte
lb.key = v
end
end
detail[val.ok] = detail[val.ok] 1
end
127.0.0.1:6379[27]> MEMORY USAGE ants_monitor_invoke_list_date_2016-01-09
(integer) 105588597
Комментарии:
1. попробуйте redis.call(‘memory’,v)
2. в нем говорится «@user_script: 18: ошибка синтаксиса. Попробуйте СПРАВКУ По ПАМЯТИ»
Ответ №1:
Попробуйте это, у меня это сработало.
redis.call('Memory','Usage', 'key');