Я бы хотел использовать 2 кэша - один по умолчанию в памяти и один в кэше памяти, хотя абстрактно это не должно иметь значения (я думаю), какие два.
В памяти по умолчанию я хочу загружать небольшие и редко меняющиеся данные. Я использовал память один на сегодняшний день. Я храню кучу данных типа «доменные данные» из базы данных, у меня также есть небольшие данные из внешних источников, которые я обновляю каждые 15 минут - 1 час.
Я недавно добавил memcache, потому что теперь я обслуживаю некоторые более крупные активы. Вроде как сложно, но это больше ~ килобайт, относительно мало по количеству (сотни) и хорошо кэшируется - они меняются, но обновление один раз в час, вероятно, слишком много. Этот набор может расти, но он используется всеми хостами. Обновления дорогие.
Первый набор данных уже некоторое время использует кэш-память по умолчанию и работает хорошо. Memcache идеально подходит для второго набора данных.
Я настроил memcache, и он отлично работает для второго набора данных. Проблема в том, что из-за того, что мой существующий код «думал», он находился в локальной памяти, я выполняю несколько операций с memcache для каждого запроса, что увеличивает мою задержку.
Итак, я хочу использовать 2 кэша. Мысли?
(примечание: memcache работает на другой машине (ах), чем мой сервер. Даже если я запускаю его локально, у меня есть парк хостов, поэтому он не будет локальным для всех. Кроме того, я хочу избежать необходимости просто получайте больше машин. Хотя я, вероятно, мог бы решить эту проблему, увеличив объем памяти и просто используя память (данные на самом деле не так уж и велики), это не решает проблему при масштабировании, поэтому просто бить по банке.)