要查看Redis中鍵的過期時間(idle time),可以使用KEYS
命令配合TTL
命令。以下是具體步驟:
使用KEYS *
命令獲取所有的鍵。這將返回Redis中所有的鍵。
KEYS *
對于每個鍵,使用TTL
命令獲取其剩余生存時間(以秒為單位)。如果鍵不存在或沒有設(shè)置過期時間,TTL
命令將返回-1或-2。
TTL your_key
例如,要查看名為my_key
的鍵的過期時間,可以執(zhí)行以下命令:
TTL my_key
如果您想查看所有鍵及其對應(yīng)的過期時間,可以使用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
執(zhí)行以下命令來運行腳本并獲取結(jié)果:
redis-cli --eval keys_with_ttl.lua
這將返回一個包含所有鍵及其對應(yīng)過期時間的列表。