[Mastering Spring 5.0] 6.8 μΊμ±
Contents
μ€νλ§ 5.0 λ§μ€ν° μ€ν°λ
μ€νλ§ 5.0 λ§μ€ν° μ€ν°λ νμ΅ λ΄μ© μ 리μ
λλ€.
μΊμ±
- μΊμ±μ λ§μ μκ°μ΄λ μ°μ°μ΄ νμν μΌλ° λν κ²°κ³Όλ₯Ό μ μ₯ν΄ λλ κ² μ΄λΌκ³ ν μ μλ€.
- μλΉμ€μ λ°μ΄ν° μΊμ±μ μ΄ν리μΌμ΄μ μ μ±λ₯κ³Ό νμ₯μ±μ ν₯μμν€λλ° μ€μν μν μ νλ€.
- μ€νλ§μ μ΄λ Έν μ΄μ μ κΈ°λ°μ λ μΊμ± μΆμνλ₯Ό μ 곡νλ€.
JSR-107(JCahce)
ꡬν체 λ€μ λͺ¨λ μ§μνλ€.EhCache
,Hazelcast
,Infinispan
,Couchbase
,Redis
λ±μ΄ κΈ°λ³Έμ μΌλ‘ μλμ€μ μ ν¬ν¨λμ΄ μλ€.
μ€νλ§ λΆνΈ νλ‘μ νΈμ μΊμ± μ μ©νκΈ°
μμ‘΄μ± μΆκ°
spring-boot-starter-cache
λ₯Ό pom.xml
λλ build.gradle
μ μΆκ°νλ€. μ΄ μμ‘΄λͺ¨λμ μΆκ°νλ©΄ JSR-107
λ° μ€νλ§ μΊμ± μ΄λ
Έν
μ΄μ
μ μ¬μ©νλλ° νμν μμ‘΄μ±μ΄ μκΈ΄λ€.
pom.xml
|
|
build.gradle
|
|
μΊμ± νμ±ν
|
|
λ°μ΄ν° μΊμ±νκΈ°
|
|
@CachePut
: λ°μ΄ν°λ₯Ό μΊμμ λͺ μμ μΌλ‘ μΆκ°νλλ° μ¬μ©λλ€.@CacheEvict
: μΊμμμ μ€λλ λ°μ΄ν°λ₯Ό μ κ±°νλλ° μ¬μ©λλ€.@Caching
: μ¬λ¬ κ°μ μ€μ²©λ@Cacheable
,@Cacheput
,@CacheEvict
μ΄λ Έν μ΄μ μ λμΌν λ©μλμμ μ¬μ©ν μ μλ€.
JSR-107 μΊμ± μ΄λ Έν μ΄μ
- JSR-107 μ λͺ©νλ μΊμ± μ΄λ Έν μ΄μ μ νμ€ν νλκ².
- μ€νλ§ μΊμ± μ΄λ Έν μ΄μ κ³Ό JSR-107 μ΄ μ 곡νλ κΈ°λ₯μ μ μ¬νλ€.
- λμΌν νλ‘μ νΈμμ λλ€ μ¬μ©ν΄μλ μλλ€.
μ£Όμ JSR-107 μ΄λ Έν μ΄μ
@CacheResult
: @Cacheable κ³Ό μ μ¬νλ€.@CacheRemove
: @CacheEvit μ μ μ¬νλ€. @CacheRemove λ μμΈκ° λ°μν κ²½μ° μ‘°κ±΄λΆ μ κ±°λ₯Ό μ§μνλ€.@CacheRemoveAll
: @CacheEvict μ μ μ¬ (allEntries = true) μΊμμμ λͺ¨λ νλͺ©μ μ κ±°νλλ° μ¬μ©λλ€.