Проблемы при работе с кэшем и способы их решения
Если вы хотите использовать кэширование в достаточно большой системе, нужно позаботиться о том, чтобы можно было поделить кэшируемые данные между доступными серверами. Это необходимо по нескольким причинам:
данных может быть очень много, и они физически не поместятся в память одного сервера;
данные могут запрашиваться очень часто, и один сервер не в состоянии обработать все эти запросы;
вы хотите сделать кэширование более надёжным. Если у вас только один кэширующий сервер, то при его падении вся система останется без кэша, что может резко увеличить нагрузку на базу данных.
Самый очевидный способ разбивки данных — вычисление номера сервера псевдослучайным образом в зависимости от ключа кэширования.
https://habr.com/ru/company/badoo/blog/352186/