Skip to content

Latest commit

ย 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages