Ответы будут различаться в зависимости от среды и технологии.
Преимущества
- Снижение нагрузки на веб-службы / базу данных
- Повышение производительности
- Надежность (Предполагается, что кэш с резервной копией дБ. Сервер отключается, а кэш резервируется с помощью кэш-памяти, и на переполнение кэша в памяти не тратится время)
Недостатки
- Могут возникнуть проблемы с синхронизацией кешей
- Увеличено обслуживание
- Проблемы масштабируемости
С большой силой приходит большая ответственность;).Мы столкнулись с проблемой, когда решили использовать HttpContext.Cache (плохая идея) в распространяемом приложении.В начале проекта кто-то решил просто добавить его туда, и у нас не было проблем, пока мы не начали жить.Всякий раз, когда дело доходит до кэширования, вам нужно взглянуть на общую картину.Спросите себя, достаточно ли у нас данных, достаточно пользователей или требований к производительности, которые требуют внедрения кэширования?
Если вы ответите «да», то вам, вероятно, понадобится ферма серверов, поэтому выбирайте поставщика кэширования с умом.
При всем этом Microsoft предлагает новый API-интерфейс кеша AppFabric / Velocity, который вы можете использовать для автоматического распределения и синхронизации кеша.
Кэширование AppFabric позволяет вамисключение по тайм-ауту или даже встроенное удаление уведомлений, так как ваши данные, скорее всего, сервер кэширования не использует, а клиент кэширования периодически проверяет работу сервера и получает список данных, которые ему необходимо синхронизировать.