redis-lua(二): 遍历数据库

来源:互联网 发布:美家预算软件 编辑:程序博客网 时间:2024/05/19 06:50

使用redis自带的redis-cli程序登录数据库后, 使用keys命令可以看到符合相应模式的key集合, 如:

image

在上面使用的keys命令, 使用的模式是*, 表示匹配所有的key, 如果使用模式"H*l", 则只会返回键名"Hello".

 

redis还实现一个mget命令, 可以返回多个key的值, 利用上面两个命令, 可以编写一个Lua程序实现遍历数据库的功能:

-- print_all_values.lua

require "redis"

local myclient = Redis.connect();
local all_keys = myclient:keys("*");
local all_values = myclient:mget(all_keys);

for i, k in ipairs( all_keys) do
    local v = all_values[i];
    print(k, v)
end

执行上面的Lua程序, 将得到下面的结果:

image