get
🧠 O que é
get retorna um valor armazenado do cache, ou null se não existir ou tiver expirado.
❓ Por que existe
Quando você precisa ler cache sem tentar refetch/recomputa se não existir.
✅ Quando usar
- Verificar se um valor está em cache sem carregá-lo.
- Lógica condicional baseada em presença de cache.
- Leitura rápida sem side effects.
🚫 Quando NÃO usar
- A maioria dos casos: use
fetch(mais inteligente). - Quando precisa garantir valor fresco: use
fetch.
⚡ Exemplo mínimo funcional
const cache = new Cache<string>();
cache.set("msg", "Oi", { ttl: 5_000 });
const msg = cache.get("msg");
console.log(msg); // "Oi"
const missing = cache.get("inexistente");
console.log(missing); // null
🧩 Exemplo real de produção
type UserSettings = { theme: "light" | "dark"; language: string };
const settingsCache = new Cache<UserSettings>();
// Renderizar UI
function renderUserUI(userId: string) {
const settings = settingsCache.get(`user:${userId}:settings`);
if (settings) {
// Usar configuração em cache
applyTheme(settings.theme);
setLanguage(settings.language);
} else {
// Usar padrão
applyTheme("light");
setLanguage("en");
}
}
⚠️ Erros comuns
1. Não tratar null
❌ Errado:
const data = cache.get("key");
data.itemId++; // TypeError: Cannot read property 'itemId' of null
✅ Correto:
const data = cache.get("key");
if (data) {
data.itemId++;
}
💡 Boas práticas
- Sempre trate o retorno
null:
const cached = cache.get(`user:${id}`);
if (cached) {
// Use valor
}
- Use
getpara lógica condicional simples:
const inCache = cache.get("key") !== null;
if (inCache) {
// Já foi carregado
}