Caching
term_id: caching
Category: engineering_practice
Definition
Nell’ingegneria dell’IA, il caching ottimizza le prestazioni mantenendo risultati di query recenti o frequenti, previsioni dei modelli o calcoli intermedi in memoria veloce (come la RAM). Ciò riduce la necessità di costosi
Summary
Il caching è una tecnica di memorizzazione dei dati frequentemente accessi in uno strato di archiviazione temporaneo ad alta velocità per ridurre la latenza e diminuire il carico sulle fonti di dati primarie.
Key Concepts
- riduzione della latenza
- ottimizzazione della memoria
- politiche di espulsione
- tasso di hit
Use Cases
- Memorizzazione dei risultati di inferenza del modello
- Cache degli output delle query al database
- Pre-calcolo degli embedding delle funzionalità
Code Example
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