sql >> Database teknologi >  >> NoSQL >> Redis

Hvordan ville Redis få at vide, om det skal returnere cachelagrede data eller friske data fra DB

Redis har ingen idé om, hvorvidt data i DB er blevet opdateret.

Normalt bruger vi Redis til at cache data som følger:

  1. Kunden tjekker, om dataene, f.eks. nøgleværdi-par, findes i Redis.
  2. Hvis nøglen findes, får klienten den tilsvarende værdi fra Redis.
  3. Ellers får den data fra DB og indstiller den til Redis. Klienten sætter også en udløbsdato, f.eks. 5 minutter for nøgleværdi-parret i Redis.
  4. Så vil eventuelle efterfølgende anmodninger om den samme nøgle blive serveret af Redis. Selvom dataene i Redis muligvis er forældede.
  5. Men efter 5 minutter, fjernes denne nøgle automatisk fra Redis.
  6. Gå til trin 1.

Så for at holde dine data i Redis opdaterede, kan du indstille en kort udløbstid. Din DB skal dog betjene en masse anmodninger.

Hvis du stort set vil reducere anmodninger til DB, kan du indstille en stor udløbstid. Så Redis for det meste kan betjene anmodningerne med mulige forældede data.

Du bør nøje overveje afvejningen mellem ydeevne og forældede data.



  1. Redis + ActionController::Live tråde dør ikke

  2. Sådan sikkerhedskopieres din Open edX MongoDB-database

  3. Strengfeltværdilængde i mongoDB

  4. Mest populære NoSQL-databaser understøttet af ClusterControl