Я все еще не совсем уверен, что вы спрашиваете.Я думаю, это звучит так, будто вы пытаетесь сообщить кешу, когда его данные устарели.
В большинстве реализаций кэширования это встроено. По сути, вы можете удалить элемент кеша (обычно его удаляют изкеш), когда он был обновлен.
Например, если вы просто используете простое старое встроенное кэширование, которое поставляется с ASP.net:
private static Cache Cache;
public void AddItem(string data)
{
//Do a database call to add the data
//This will force clients to requery the source when GetItems is called again.
Cache.Remove("test");
}
public List<string> GetItems()
{
//Attempt to get the data from cache
List<string> data = Cache.Get("test") as string;
//Check to see if we got it from cache
if (data == null)
{
//We didn't get it from cache, so load it from
// wherever it comes from.
data = "From database or something";
//Put it in cache for the next user
Cache["test"] = data;
}
return data;
}
ОБНОВЛЕНИЕ Я обновил образец кода довернуть список строк, а не просто строку.Это должно сделать более очевидным, что происходит.
Чтобы повторить, вызов GetItems () возвращает список строк.Если этот список находится в кеше, возвращается кешированный список.В противном случае список извлекается и кэшируется / возвращается.
Метод AddItem явно удаляет список из кэша, вызывая запрос источника данных.