Exemplos Práticos
💰 Sistema de Dinheiro Otimizado
-- Cache de dados de jogador com fallback para database
function getPlayerMoney(player)
local serial = getPlayerSerial(player)
local cacheKey = "money_" .. serial
-- Tentar cache primeiro (instantâneo)
local money = LockSystem.Cache.get(cacheKey)
if money then
return money
end
-- Se não tiver cache, consultar database (lento)
local query = dbQuery(db, "SELECT money FROM players WHERE serial = ?", serial)
local result = dbPoll(query, -1)
dbFree(query)
if result and #result > 0 then
money = result[1].money
-- Armazenar no cache por 2 minutos
LockSystem.Cache.set(cacheKey, money, 120)
return money
end
return 0
end
function setPlayerMoney(player, amount)
local serial = getPlayerSerial(player)
local cacheKey = "money_" .. serial
-- Atualizar database
dbExec(db, "UPDATE players SET money = ? WHERE serial = ?", amount, serial)
-- Atualizar cache também para manter sincronização
LockSystem.Cache.set(cacheKey, amount, 120)
setElementData(player, "money", amount)
end🏆 Sistema de Ranking com Cache
🌍 Cache de Dados de API Externa
🛡️ Sistema de Rate Limiting
⚙️ Cache de Configurações e Permissões
📊 Sistema de Estatísticas com Cache
Atualizado