ИСПОЛЬЗОВАНИЕ ПАМЯТИ неизвестно Команда Redis, вызванная из сценария Lua

#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');