Skip to content

orz-pub/simple_local_cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Simple Local Cache C#

다음 조건을 만족하는 경우 LocalCache 사용을 고려해 본다

  • 데이터 요청이 잦다
  • 데이터를 가져오는데 부하가 있다(디비, 웹요청 등)
  • 데이터가 원본과 실시간 동기화되지 않아도 괜찮다(딜레이 허용)
// 이 객체의 값이 자주 필요한데 얻는 작업에 부하가 있으며, 실시간 동기화는 하지 않아도 된다고 하자.
class MyData : LocalCacheable
{
  // ...

  public override void SetMaxAgeSec()
  {
    // 캐시 수명 설정.
  }

  public override async Task UpdateSelf()
  {
    // 업데이트.
  }
}

var CACHE_KEY = "mydata";
var localCache = new LocalCache();

var myData1 = await localCache.Get<MyData>(CACHE_KEY); // UpdateSelf() 하고 읽음.
var myData2 = await localCache.Get<MyData>(CACHE_KEY); // 캐시에서 읽음.
// 캐시 만료 가정.
var myData3 = await localCache.Get<MyData>(CACHE_KEY); // UpdateSelf() 하고 읽음.

예제코드

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages