Mise en cache

term_id: caching

Category: engineering_practice

Definition

En ingénierie de l’IA, la mise en cache optimise les performances en conservant les résultats de requêtes récents ou fréquents, les prédictions de modèles ou les calculs intermédiaires dans une mémoire rapide (comme la RAM). Cela réduit le besoin d’exécuter des opérations coûteuses ou de solliciter des bases de données distantes à chaque demande.

Summary

La mise en cache est une technique consistant à stocker les données fréquemment accédées dans une couche de stockage temporaire à haute vitesse afin de réduire la latence et de diminuer la charge sur les sources de données principales.

Key Concepts

  • réduction de la latence
  • optimisation de la mémoire
  • politiques d’éviction
  • taux de réussite

Use Cases

  • Stockage des résultats d’inférence de modèles
  • Mise en cache des sorties de requêtes de base de données
  • Pré-calcul des embeddings de fonctionnalités

Code Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import redis

# Simple caching example
r = redis.Redis(host='localhost', port=6379, db=0)

def get_prediction(model_id, input_data):
    cache_key = f"pred_{model_id}_{hash(str(input_data))}"
    result = r.get(cache_key)
    if result:
        return result.decode('utf-8')
    # Compute if not cached
    prediction = model.predict(input_data)
    r.setex(cache_key, 3600, str(prediction))
    return prediction