Аннулирование кэша - очень сложный вопрос.Основной случай, который вы предлагаете, кажется чем-то, что легче всего обрабатывается кешем запросов базы данных (частые запросы сохраняют запрос в кеше).Как только стратегия кеширования становится более сложной, чем эта, большинство выигрышей будет получаться от ручного управления сроком действия кеша и кеша с помощью отдельного хранилища кеш-ключей.
Если такого рода вещи являются нормой для доступа к данным вашего приложенияи вы пробуете модные, новые вещи, представления couchdb для mapreduce могут хорошо подойти.
Помимо базового запоминания, я склонен рассматривать кеширование на уровне ORM как довольно привередливый и плохой план.