Redis · Redis 7.4
Trello держал в Redis то, что не жалко потерять: активность сессий, временные ключи входа через OpenID, данные для pub/sub. Приложение умеет восстановить их, если ключа нет. Памяти Redis выделяли примерно в пять раз больше рабочего набора.
Представим похожий кэш: maxmemory 4gb, рабочий набор около 800 МБ, но ключи копятся и TTL стоит меньше чем у 10 % из них. Часть ключей читают тысячи раз в минуту, большую часть — раз в день.
Когда память кончится, Redis должен освобождать место сам, не возвращая ошибки на запись и не трогая то, что читают постоянно.
В работе: Кэш перед базой, сессии, временные токены — любой Redis, где все данные можно восстановить из первоисточника.
Источник: кейс Trello: стек технологий, блог Atlassian, 2012. Условие пересказано своими словами.
Какую maxmemory-policy выбрать?
- allkeys-lru
- noeviction
- volatile-lru
- allkeys-random
- volatile-ttl