Webapplicaties maken gebruik van caching om de responstijd te versnellen en de belasting op de server of database te verminderen. Caches kunnen zich op het niveau van de client (browser), applicatie, database of apart (Redis, Memcached) bevinden.
Details:
Voorbeeld code (Python met Redis):
import redis r = redis.Redis(host='localhost', port=6379, db=0) def get_user(id): cache_key = f'user:{id}' user = r.get(cache_key) if user: return user else: user = get_user_from_db(id) r.setex(cache_key, 60, user) # Cache voor 60 seconden return user
Belangrijke kenmerken:
Waarom TTL instellen voor cache als de gegevens permanent zijn?
Zelfs "permanente" gegevens kunnen veranderen (bijvoorbeeld correcties). TTL beschermt tegen fouten en inconsistenties.
Zal het cachen van alles wat mogelijk is het systeem versnellen?
Nee. Overmatig cachen leidt tot geheugenoverschreiding en moeilijke beheer van verouderde gegevens.
Wat gebeurt er als er geen opruimmethode voor de cache wordt geïmplementeerd bij het wijzigen van gegevens?
Gebruikers ontvangen verouderde gegevens die niet overeenkomen met de werkelijke status van het systeem.