На моем сайте довольно много кода, который выглядит следующим образом;
Item item;
if(Cache["foo"] != null)
{
item = (Item)Cache["foo"];
}
else
{
item = database.getItemFromDatabase();
Cache.insert(item, "foo", null, DateTime.Now.AddDays(1), ...
}
Один из таких примеров имеет довольно дорогой метод getItemFromDatabase
(что является основной причиной его кеширования). У меня проблема в том, что с каждым выпуском или перезапуском приложения кэш очищается, а затем появляется множество пользователей, которые нажимают на приведенный выше код, который убивает наш сервер базы данных.
Каков типичный метод работы с такими сценариями?