Я довольно новичок в C# и пытаюсь понять, что делает следующий метод, как сотрудник, я больше не работаю с ним, создал его.
public static void setInventoryCache(string type, string att, int id, float val)
{
string cacheKey = "inv-" + type + "-" + att + "-" + id.ToString();
debugLog("set " + cacheKey + " = " + val);
// expire cached items randomly so they don't all expire at the same time and need to be
// re-cached
int expire = random.Next(30, 90);
CacheItemPolicy cip = new CacheItemPolicy
{
RemovedCallback = new CacheEntryRemovedCallback(removeCallBack),
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(expire),
};
InventoryCache.Set(cacheKey, val, cip);
}
Мне кажется, что срок действия кеша истекает каждые 30-90 минут. Это правильно? Потому что в моей программе он, похоже, все еще получает старые кэшированные данные, даже если они старше 90 минут
Проблема, с которой я сейчас сталкиваюсь, состоит в том, что данные моего кэша не равны данным в моей базе данных, что должно быть. Это заставляет меня думать, что данные не истекают должным образом. И почему кэшированные данные были бы полезны в первую очередь, почему бы просто не извлечь правильные данные из базы данных?