Redis
 sql >> база данни >  >> NoSQL >> Redis

Използване на redis като кеш за mysql база данни

Да, redis е добър за това. Но за да разберем същността, има основно два подхода за кеширане. В зависимост от това дали използвате рамка (и коя) или не, може да имате първата опция, налична в стандартен или с използване на плъгин:

  1. Кеширане на заявки за база данни, тоест – избраните заявки и техните резултати ще се съхраняват в redis за по-бърз достъп за определено време или до изчистване на кеша (полезно след актуализиране на базата данни). В този случай можете да използвате вградено кеширане на заявки в mysql, това ще бъде по-лесно, отколкото да използвате допълнително хранилище ключ-стойност, или можете да отмените интеграцията на базата данни по подразбиране с вашия собствен клас, използвайки кеша (например http://pythonhosted.org /johnny-cache/).
  2. Персонализирано кеширане, което представлява създаване на ваши собствени структури, които да се съхраняват в кеша и периодично или ръчно презареждане с данни, извлечени от базата данни. Той е по-гъвкав и потенциално по-мощен, защото можете да използвате вградени функции за redis, като списъци или сортирани набори, които правят актуализацията много по-малка. Изисква малко повече кодиране, но обикновено предлага по-добри резултати, тъй като е по-персонализирано. Добър пример е поддържането на топ статии под формата на списък с идентификатори на redis и след това достъп до сериализирани статии с даден идентификатор, както и от redis. Можете да запазите тази статия ненормализирана - т.е. сериализираният обект може да съдържа потребителски идентификатор, както и потребителско име, така че да можете да сведете до минимум допълнителните разходи за допълнителни заявки.

Вие решавате кой подход да използвате, аз лично почти винаги използвам подход номер две. Но, разбира се, всичко зависи от това колко време разполагате и какво трябва да прави приложението - можете също да започнете с кеширане на mysql заявки и ако резултатите не са достатъчно добри, преминете към redis и персонализирано кеширане.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Airflow CROSSSLOT Ключовете в заявката не хешират към същата грешка в слота с помощта на AWS ElastiCache

  2. Уведомление за изтичане на Redis Key с джедаите

  3. Пространства от имена в Redis?

  4. Socket.io, Redis Store и IE

  5. Как да настроя манипулатори в RedMQ от събития, повдигнати в моя домейн