sql >> Database >  >> NoSQL >> Redis

Hoe redis bijwerken na het bijwerken van de database?

De werkelijke gegevensopslag en cache moeten worden gesynchroniseerd met behulp van de derde benadering die u al in uw vraag hebt beschreven.

Als u gegevens toevoegt aan uw definitieve winkel (d.w.z. uw SQL-database), moet u deze gegevens in een servicebus of berichtenwachtrij plaatsen en een asynchrone service de hele synchronisatie laten doen met behulp van een soort achtergrondproces.

U wilt niet in deze gevallen komen (wanneer u geen servicebus en asynchrone service gebruikt):

  • Maak uw verzoeken of processen langzamer omdat de gebruiker moet wachten totdat de gegevens zowel in uw database als in de cache zijn opgeslagen.
  • Het risico bestaat dat het cacheproces mislukt en dat u geen beleid voor opnieuw proberen kunt hebben (wat meestal een ingebouwde functie is in een servicebus of sommige berichtenwachtrijen). Deze fout kan ook leiden tot een gedeeltelijke of volledige beschadiging van de cache en u kunt niet automatisch en gemakkelijk een taak plannen om deze situatie op te lossen.

Over het gebruik van Redis-sleutelvervaldatum is het een goed idee. Aangezien Redis sleutels kan laten verlopen met behulp van het ingebouwde mechanisme, moet u het verlopen van sleutels niet implementeren vanuit het hele achtergrondproces. Als er een sleutel bestaat, is deze nog steeds geldig.

Trouwens, je zult niet altijd in dit geval zitten (als een sleutel niet is verlopen, betekent dit dat deze niet mag worden overschreven). Het kan afhankelijk zijn van uw werkelijke domein.




  1. Laravel - Wis alle cache / redis-sleutels die een specifieke tekenreeks bevatten

  2. Redis vs. Geheugencache

  3. Is memcached een dinosaurus in vergelijking met Redis?

  4. Geen reactie na verbinding van selderij naar redis via ssl