如何在c#中使用缓存
本文关键字:缓存 | 更新日期: 2023-09-27 18:07:53
我想在c#上使用简单的缓存
我从DB得到一个对象,我想把它保存在缓存上30秒,
所以在这30秒内,我不需要再次从DB获取此信息。
例如:if(cache("name")== empty)
MyClass temp=GetFromDb();
InsertToCache("name")
else
MyClass temp=selectFromCache("name")
我找不到做这件事的方法。
谢谢大家。
这里有一个类似于您想要完成的示例:
public Person RetrievePerson(string name)
{
var memoryCache = MemoryCache.Default; // Needs a reference to System.Runtime.Caching
var person = memoryCache.Get(name) as Person;
if (person == null)
{
person = CreatePerson(name);
memoryCache.Add(name, person, new CacheItemPolicy
{
SlidingExpiration = new TimeSpan(0, 0, 1)
});
}
return person;
}
注意,您需要一个System.Runtime.Caching的引用(参见https://msdn.microsoft.com/en-us/library/wkze6zky.aspx获取帮助)。
有关MemoryCache, CacheItemPolicy等的更多信息,请查看MSDN(例如https://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache(v=vs.110).aspx)。