Индекс форумов |
Исходное сообщение |
---|
"Релиз Memcached 1.4.10 со значительным увеличением производи..." Отправлено san, 15-Ноя-11 22:52 |
Ну, сделай, например, чтобы первый, кто полез за данными в базу, установил в memcache в качестве результата для этой операции специальное значение "Work in progress", чтобы другие подождали. Или если получил данные из memcache и точно знаешь, что их нужно закешировать, а TTL вот-вот обнулиться, продли его (чтобы ты был один такой умный) и обнови данные из SQL (как вариант, можно сделать это с некоторой вероятностью, которая тем больше, чем длительнее рассчет этих данных, вместо продлевания TTL, тогда чем больше запросов лезут к этим данным и больше время тратится на их перерассчет, тем больше шансов, что кто-то попытается их продлить до обнуления TTL). Можно оба подхода скомбинировать. Да и сам, если подумаешь, сможешь придумать получше варианты для своей задачи. Тут только главное не переусердствовать, потому что кеш должен содержать данные, которые (часто нужны)*(длительно рассчитываемы), так как все подряд туда не поместится - оперативка ограничена. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |