当你遇到大量数据需要 for 循环筛选时,会发现使用python redis库自带的方法速度龟速,可尝试下面的方法
script = """
local cache_name = KEYS[1]
local keys = redis.call('hkeys', cache_name)
for i,key in ipairs(keys) do
local ret = redis.call('hget', cache_name, key)
-- 更多逻辑判断......
return ret
end
return 1
"""
cache_name = "TEST:CACHE:NAME"
script2 = rds.rds.register_script(script)
rs = script2(keys=[cache_name], args=[])
print(rs)
JSON, 时间戳 的使用
cjson.decode(ret)
redis.call('TIME')