从Lua脚本调用的内存用法未知的Redis命令

时间:2019-04-02 06:24:14

标签: redis lua

我想用以下代码计算密钥的内存消耗,但会收到错误

  

@user_script:22:@user_script:22:从调用了未知的Redis命令   Lua脚本

。我可以在命令行中调用命令“ MEMORY USAGE”。为什么在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 个答案:

答案 0 :(得分:0)

尝试一下,它对我有用。

redis.call('Memory','Usage', 'key');