μ νλΈ
[μ¬μ μΊμ±]κ°μλ₯Ό λ³΄κ³ μ 리ν λ΄μ©μ λλ€.
π‘ μΊμμ νμμ±κ³Ό λ©λͺ¨λ¦¬ ꡬ쑰, μλ° & μ€νλ§μμμ μΊμ± μ¬μ©λ²κΉμ§ ν λ²μ μ 리!

π§ μ¦, CPUλ λΉ¨λΌμ§λλ° λ©λͺ¨λ¦¬ μλ΅ μλκ° λ³λͺ©μ΄ λλ ꡬ쑰!
| κ΅¬λΆ | μ€λͺ |
|---|---|
| μ¬μ μ μ μ | λ°μ΄ν°λ₯Ό μμλ‘ μ μ₯νκ±°λ 보κ΄νλ κ³΅κ° |
| μ»΄ν¨ν° κ³Όν | μμ£Ό μ κ·Όνλ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² κΊΌλΌ μ μκ² λ³΅μ¬ν΄ λμ μ μ₯μ |
μΊμλ₯Ό ν΅ν΄ λλ¦° λ©λͺ¨λ¦¬ μ κ·Όμ μ€μ΄κ³ μ±λ₯μ ν₯μμν¬ μ μμ΄μ.

μλ‘ κ°μλ‘ μλλ λΉ λ₯΄κ³ μ©λμ μμ
μλλ‘ κ°μλ‘ μλλ λλ¦¬κ³ μ©λμ νΌ

β οΈ νλ‘ νΈ λ°°ν¬ ν λ°μμ΄ μ λλ κ²λ μΊμ λλ¬ΈμΌ μ μμ
λ‘λ λ―Έμ μμ π°
LottoNumber κ°μ²΄ 6κ° νμ// ν΄λμ€ λ‘λ© μ μΊμ μ΄κΈ°ν
private static final Map<Integer, LottoNumber> CACHE = new HashMap<>();
static {
for (int i = 1; i <= 45; i++) {
CACHE.put(i, new LottoNumber(i));
}
}
β κ°μ²΄λ₯Ό λ§€λ² μμ±νμ§ μκ³ λ―Έλ¦¬ λ§λ€μ΄λ κ²μ κΊΌλ΄μ μ¬μ¬μ©!
@Cacheable λ±μΌλ‘ μΊμ μ μ©| μ’ λ₯ | μ€λͺ |
|---|---|
ConcurrentMapCacheManager | κΈ°λ³Έ map κΈ°λ° μΊμ. κ°λ³κ³ μ€μ νμ μμ |
SimpleCacheManager | μΊμ μ§μ λ±λ‘νμ¬ μ¬μ©ν΄μΌ ν¨ |
EhCacheCacheManager | Ehcache μ°λμ© |
CaffeineCacheManager | Caffeine μ°λμ© |
CompositeCacheManager | μ¬λ¬ μΊμ λ§€λμ λ₯Ό μ‘°ν©ν΄ μ¬μ© |
JCacheCacheManager | JSR-107 κΈ°λ° μΊμ μ°λμ© |
| νλͺ© | μ£Όμ λ΄μ© |
|---|---|
| β μ ν©ν κ²½μ° | λμΌν μμ²μ λ°λ³΅λ κ²°κ³Όλ₯Ό μ€ μ μμ λ |
| β οΈ λΆμ ν©ν κ²½μ° | μμ²λ§λ€ κ²°κ³Όκ° λ¬λΌμ ΈμΌ ν λλ μ±λ₯ μ ν |
| π οΈ κΈ°ν | μΊμ μ μ₯/νμ μμ λ μ€λ²ν€λκ° λ°μνλ―λ‘ λ¨μ© κΈμ§ |
@Cacheable, @CachePut λ±μΌλ‘ μ½κ² μ¬μ© κ°λ₯π 볡μ‘ν λ‘μ§λ³΄λ€, μμ£Ό μ°μ΄λ λ¬΄κ±°μ΄ μ°μ°λΆν° μΊμ μ μ©μ κ³ λ―Όν΄λ³΄μ!