В настоящее время я занимаюсь созданием репозитория для проекта, который будет интенсивно работать с БД (были проведены тесты производительности и требуется кэширование, поэтому я спрашиваю)
Теперь я установил, что каждый объект индивидуально кэшируется, если я хочу сделать запрос для них, объекты передаю запрос в базу данных и возвращу требуемый идентификатор. (Для некоторых простых запросов я кэшировал и управлял идентификаторами)
Затем я попадаю в кеш с этими идентификаторами и вытаскиваю их, любые отсутствующие объекты группируются в оператор "where in" и запускаются в базу данных; в этот момент я повторно заполняю кеш с отсутствующими идентификаторами.
Сами запросы, скорее всего, связаны с поиском/упорядочением данных.
Это подходящая стратегия? Или, может быть, есть лучшие методы?