Caching

term_id: caching

Category: engineering_practice

Definition

Bij AI-engineering optimaliseert caching de prestaties door recente of frequente queryresultaten, modelvoorspellingen of tussentijdse berekeningen in snel geheugen (zoals RAM) te houden. Dit vermindert de behoefte aan dure of trage herhaalde berekeningen of database-aanroepen.

Summary

Caching is een techniek waarbij vaak toegankelijke gegevens worden opgeslagen in een tijdelijke, snelle opslaglaag om latentie te verminderen en de belasting van primaire gegevensbronnen te verlagen.

Key Concepts

  • latentievermindering
  • geheugenoptimalisatie
  • evictiebeleid
  • hitrate

Use Cases

  • Opslaan van modelinferentie-resultaten
  • Cachen van databasequery-uitvoer
  • Vooraf berekenen van functie-embeddings

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