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

Brug af redis som cache til en mysql-database

Ja, det er redis godt til. Men for at få essensen, er der grundlæggende to tilgange til caching. Afhængigt af om du bruger en ramme (og hvilken) eller ej, kan du have den første mulighed tilgængelig i standard eller med brug af et plug-in:

  1. Cachedatabaseforespørgsler, det vil sige - udvalgte forespørgsler og deres resultater vil blive opbevaret i redis for hurtigere adgang i et givet tidsrum eller indtil tømning af cache (nyttigt efter opdatering af datadatabase). I dette tilfælde kan du bruge indbygget mysql-forespørgselscache, det vil være enklere end at bruge yderligere nøgleværdilager, eller du kan tilsidesætte standarddatabaseintegration med din egen klasse ved at bruge cache (for eksempel http://pythonhosted.org /johnny-cache/).
  2. Brugerdefineret cachelagring, det vil sige at skabe dine egne strukturer, der skal opbevares i cachen, og periodisk eller manuelt genopfylde dem med data hentet fra databasen. Det er mere fleksibelt og potentielt mere kraftfuldt, fordi du kan bruge indbyggede redis-funktioner såsom lister eller sorterede sæt, som gør opdateringsoverhead meget mindre. Det kræver lidt mere kodning, men det giver normalt bedre resultater, da det er mere tilpasset. Et godt eksempel er at holde topartikler i form af redis-liste over id'er og derefter få adgang til serialiserede artikler med givet id også fra redis. Du kan beholde den artikel unormaliseret – dvs. serialiseret objekt kan indeholde bruger-id såvel som brugernavn, så du kan holde overhead af yderligere forespørgsler på et minimum.

Det er op til dig at bestemme hvilken tilgang du skal tage, personligt går jeg næsten altid med tilgang nummer to. Men alt afhænger selvfølgelig af, hvor meget tid du har, og hvad applikationen skal gøre - du kan lige så godt starte med mysql-forespørgselscaching, og hvis resultaterne ikke er gode nok, gå til redis og tilpasset caching.




  1. Hvordan konfigureres Node Redis-klienten til at smide fejl med det samme, når forbindelsen er mislykket? [LÆS DETALJER]

  2. Tilpassede brugerforbindelsesstrenge til MongoDB-forekomster med godkendelse

  3. Bestilling af et resultatsæt tilfældigt på mongo

  4. mongodb c# hvordan man arbejder med BSON-dokument