2016-09-20 3 views
-7

Я хочу использовать просто с кэшем на C#Как использовать кэширование на C#

я получаю объект из БД и я хочу сохранить его в течение 30 секунд на кэш,

так на этих 30 секунд я не нужно получать эту информацию от БД.

, например:

if(cache("name")== empty) 
     MyClass temp=GetFromDb(); 
     InsertToCache("name") 
else 
    MyClass temp=selectFromCache("name") 

я не найти способ сделать это.

благодарит всех вас.

+2

Вы можете посмотреть ['MemoryCache'] (https://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache (v = vs.110) .aspx) – Nico

+2

Please укажите свой пост! Какой тип C# -приложения? – rbr94

+0

@heinzbeinz Мне не нравится спрашивать код, но я там засекречен ... не знаю почему, но не успел не могли бы вы написать его для меня? – TOOMI19876

ответ

0

Вот пример похож на то, что вы пытаетесь достичь:

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).

Смежные вопросы