Middle
O que é cache e para que serve?
sobes.tech IA
Resposta da IA
O armazenamento em cache é o processo de guardar os resultados de operações dispendiosas (por exemplo, cálculos, consultas a bases de dados ou serviços externos) num acesso rápido, para que numa solicitação futura possam ser utilizados os dados já preparados, em vez de repetir a operação.
Para que serve o armazenamento em cache:
- Acelera o funcionamento da aplicação, reduzindo o tempo de resposta.
- Reduz a carga nos recursos (BD, rede, CPU).
- Melhora a escalabilidade do sistema.
Em Go, o armazenamento em cache é frequentemente implementado usando estruturas de dados integradas (mapa) ou bibliotecas especializadas, por exemplo, para cache em memória. Exemplo de um cache simples em Go:
package main
import (
"fmt"
"sync"
"time"
)
type Cache struct {
mu sync.Mutex
store map[string]string
}
func NewCache() *Cache {
return &Cache{store: make(map[string]string)}
}
func (c *Cache) Get(key string) (string, bool) {
c.mu.Lock()
defer c.mu.Unlock()
val, ok := c.store[key]
return val, ok
}
func (c *Cache) Set(key, value string) {
c.mu.Lock()
defer c.mu.Unlock()
c.store[key] = value
}
func main() {
cache := NewCache()
cache.Set("time", time.Now().String())
if val, ok := cache.Get("time"); ok {
fmt.Println("Valor em cache:", val)
}
}