Если код не может получить объект, то ничего / нуль не возвращается.
Зачем вам пытаться кэшировать объект, если у вас будет возможность удалять его так часто? Лучше установить время истечения и перезагрузить объект, если его больше нет в кэше.
Можете ли вы объяснить "объект, осведомленный о БД"? Вы имеете в виду sql зависимость кэша или просто объект, который имеет информацию о соединении БД?
EDIT:
Ответ на комментарий № 3.
Я думаю, что нам здесь чего-то не хватает. Позвольте мне объяснить, что я имею в виду, и вы можете сказать мне, если это правильно.
- Пользователь A проверяет наличие объекта в кеше
("resultA") и не находит его.
- Пользователь A запускает запрос. Результаты
кэшируется как "resultA" в течение 5 минут.
- Пользователь B проверяет объект в кеше
("resultA") и находит его.
- Пользователь B использует кэшированный объект "resultA"
Если это так, то вам не нужна зависимость Sql Cache.