Sobes.tech
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)
    }
}