要查看Redis中键的过期时间(idle time),可以使用KEYS
命令配合TTL
命令。以下是具体步骤:
使用KEYS *
命令获取所有的键。这将返回Redis中所有的键。
KEYS *
对于每个键,使用TTL
命令获取其剩余生存时间(以秒为单位)。如果键不存在或没有设置过期时间,TTL
命令将返回-1或-2。
TTL your_key
例如,要查看名为my_key
的键的过期时间,可以执行以下命令:
TTL my_key
如果您想查看所有键及其对应的过期时间,可以使用Lua脚本来批量获取这些信息。以下是一个示例Lua脚本:
local cursor = "0"
local keys = {}
local result = {}
while true do
local cursor, keys, _, total = redis.call("SCAN", cursor, "MATCH", "*", "COUNT", 1000)
if cursor == 0 then
break
end
for _, key in ipairs(keys) do
local ttl = redis.call("TTL", key)
table.insert(result, {key = key, ttl = ttl})
end
end
return result
将此脚本保存为keys_with_ttl.lua
,然后使用redis-cli
执行以下命令来运行脚本并获取结果:
redis-cli --eval keys_with_ttl.lua
这将返回一个包含所有键及其对应过期时间的列表。