Como Usar?
Método Básico de Cache
-- Armazenar dados com TTL (Time To Live)
LockSystem.Cache.set("player_money_123", 50000, 300) -- 5 minutos
-- Recuperar dados
local money = LockSystem.Cache.get("player_money_123")
if money then
print("Money cached: " .. money) -- Retorno instantâneo
else
print("Cache não encontrado ou expirado")
end
-- Verificar se existe no cache
if LockSystem.Cache.has("player_money_123") then
print("Dados estão em cache")
end
-- Remover do cache manualmente
LockSystem.Cache.remove("player_money_123")
Método Remember (Mais Inteligente)
-- Se não existir no cache, executa callback e armazena resultado
local topPlayers = LockSystem.Cache.remember("top_players", 600, function()
-- Esta query só executa se o cache não existir
local query = dbQuery(database, "SELECT * FROM players ORDER BY score DESC LIMIT 10")
local result = dbPoll(query, -1)
dbFree(query)
return result
end)
-- Uso subsequente retorna do cache instantaneamente
print("Top players: " .. #topPlayers)
Cache com Callback de Expiração
-- Executar função específica quando o cache expirar
LockSystem.Cache.setWithCallback("temp_ban_123", true, 300, function(key, value)
outputChatBox("Ban temporário de 5 minutos expirou!", root)
-- Código para liberar player
setElementData(getPlayerFromSerial("123"), "banned", false)
end)
Limpeza com Padrões
-- Limpar todos os caches que começam com "player_"
LockSystem.Cache.clear("player_*")
-- Limpar todos os caches que começam com "vehicle_"
LockSystem.Cache.clear("vehicle_*")
-- Limpar todo o cache
LockSystem.Cache.clear()
-- Retorna número de itens removidos
local removed = LockSystem.Cache.clear("temp_*")
print("Removidos " .. removed .. " itens temporários")
Atualizado