Sobes.tech
Middle

Qu'est-ce que la mise en cache et à quoi sert-elle?

sobes.tech IA

Réponse de l'IA

La mise en cache est le processus de sauvegarde des résultats d'opérations coûteuses (par exemple, calculs, requêtes à une base de données ou à des services externes) dans un accès rapide, afin que lors d'une requête ultérieure, on puisse utiliser les données déjà prêtes plutôt que de répéter l'opération.

À quoi sert la mise en cache :

  • Elle accélère le fonctionnement de l'application en réduisant le temps de réponse.
  • Elle réduit la charge sur les ressources (BD, réseau, CPU).
  • Elle améliore la scalabilité du système.

En Go, la mise en cache est souvent réalisée à l'aide de structures de données intégrées (map) ou de bibliothèques spécialisées, par exemple pour le cache en mémoire. Exemple d'un cache simple en 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("Valeur en cache :", val)
    }
}