๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ 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() ํ๊ณ ์ฝ์.