Cache Eviction Policy
[์๊ฐ ๊ธฐ๋ฐ ๋ง๋ฃ ์ ๋ต] โ Cache Expiration Strategy
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ํจ๊ป ์ค์ ํ๋ TTL (Time-To-Live) ๋๋ TTI (Time-To-Idle) ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ง๋ฃ๋จ.
์ค์ ๋ฐฉ์: Redis์์๋
SET key value EX 60
โ 60์ด TTL
์ฃผ์ ๋ฐฉ์
TTL (Time-To-Live)
์ ์ฅ ์์ ๊ธฐ์ค์ผ๋ก ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ๋ง๋ฃ๋จ.
TTI (Time-To-Idle)
์ผ์ ์๊ฐ ๋์ ์ ๊ทผ(์ฝ๊ธฐ/์ฐ๊ธฐ)์ด ์์ผ๋ฉด ๋ง๋ฃ๋จ. (Redis ๊ธฐ๋ณธ ๋ฏธ์ง์, ๋ณ๋ ๊ตฌํ ํ์)
Absolute Expiry
ํน์ ์๊ฐ(์: ๋งค์ผ ์์ )์ ๋ง๋ฃ๋๋๋ก ์ค์
[๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฐ ์ ๊ฑฐ ์ ์ฑ
] โ Cache Eviction Policy
Noeviction: ๋ ๋์ค์ ๋ฐ์ดํฐ๊ฐ ๊ฐ๋ ์ฐจ๋๋ผ๋ ์์๋ก ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ์ง ์๊ณ , ๋ ๋์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค๋ ์๋ฌ๋ฅผ ๋ฐํ
LRU eviction (Least-Recently Used): ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋์ง ์์ ๋ฐ์ดํฐ๋ถํฐ ์ญ์ ํ๋ ์ ์ฑ
LFU eviction(Least-Frequently Used): ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋์ง ์์ ๋ฐ์ดํฐ๋ถํฐ ์ญ์ ํ๋ ์ ์ฑ
RANDOM eviction: ๋ ๋์ค์ ์ ์ฅ๋ ํค ์ค ํ๋๋ฅผ ์์๋ก ๊ณจ๋ผ๋ด ์ญ์ ํจ
volatile-ttl: ๋ง๋ฃ ์๊ฐ์ด ๊ฐ์ฅ ์์ ํค๋ฅผ ์ญ์ โ ์ญ์ ์์ ์๊ฐ์ด ์ผ๋ง ๋จ์ง ์์ ํค๋ฅผ ์ถ์ถํด ํด๋น ํค๋ฅผ ๋ฏธ๋ฆฌ ์ญ์ ํ๋ ์ต์ .
Redis์ maxmemory-policy
์ค์ ์ ํตํด ์ง์ :
์ฃผ์ ์ ์ฑ
noeviction
๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด๋ ์๋ฌด ๊ฒ๋ ์ ๊ฑฐํ์ง ์๊ณ ์๋ฌ ๋ฐํ
allkeys-lru
๋ชจ๋ ํค ์ค์์ ๊ฐ์ฅ ์ค๋ ์ฌ์ฉ๋์ง ์์ ํค๋ฅผ ์ ๊ฑฐ
volatile-lru
TTL์ด ์ค์ ๋ ํค๋ค ์ค์์ ๊ฐ์ฅ ์ค๋ ์ฌ์ฉ๋์ง ์์ ํค ์ ๊ฑฐ
allkeys-lfu
๊ฐ์ฅ ์ ๊ฒ ์ฌ์ฉ๋ ํค ์ ๊ฑฐ
volatile-lfu
TTL์ด ์ค์ ๋ ํค๋ค ์ค ๊ฐ์ฅ ์ ๊ฒ ์ฌ์ฉ๋ ํค ์ ๊ฑฐ
allkeys-random
๋ชจ๋ ํค ์ค์์ ๋ฌด์์๋ก ์ ๊ฑฐ
volatile-random
TTL์ด ์ค์ ๋ ํค๋ค ์ค์์ ๋ฌด์์ ์ ๊ฑฐ
volatile-ttl
TTL์ด ๊ฐ์ฅ ์ ๊ฒ ๋จ์ ํค ์ ๊ฑฐ (์ฆ์ ๋ง๋ฃ ์์ ํค ๋จผ์ ์ ๊ฑฐ)
๐ volatile-* ์ TTL์ด ์ค์ ๋ ํค์๋ง ์ ์ฉ๋จ.
Last updated