Redis няма представа дали данните в DB са актуализирани.
Обикновено използваме Redis за кеширане на данни, както следва:
- Клиентът проверява дали данните, напр. двойка ключ-стойност, съществува в Redis.
- Ако ключът съществува, клиентът получава съответната стойност от Redis.
- В противен случай той получава данни от DB и ги задава на Redis. Също така клиентът задава срок на валидност, да речем
5
минути за двойката ключ-стойност в Redis. - След това всички следващи заявки за същия ключ ще бъдат обслужвани от Redis. Въпреки че данните в Redis може да са остарели.
- Въпреки това, след
5
минути, този ключ ще бъде премахнат от Redis автоматично. - Отидете към стъпка 1.
Така че, за да поддържате данните си в Redis актуални, можете да зададете кратко време на изтичане. Въпреки това, вашата БД трябва да обслужва много заявки.
Ако искате до голяма степен да намалите заявките към DB, можете да зададете голямо време на изтичане. Така че през повечето време Redis може да обслужва заявките с възможни закъсали данни.
Трябва да обмислите внимателно компромисът между ефективността и забавените данни.