SlideShare a Scribd company logo
1 of 16
Ehcache
Ehcache ์†Œ๊ฐœ
EhCache ๋Š” ์ž๋ฐ”์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์บ์‹œ
-๊ฒฝ๋Ÿ‰์ด๊ณ  ๋น ๋ฅด๋‹ค
-ํ™•์žฅ์„ฑ (Scalable)
: ๋ฉ”๋ชจ๋ฆฌ / ๋””์Šคํฌ ์ €์žฅ ์ง€์› , ๋ฉ€ํ‹ฐ CPU ์˜ ๋™์‹œ ์ ‘๊ทผ์— ํŠœ๋‹
-JSR107 (Jcache spec) ํ‘œ์ค€ ์ง€์›
: Spring Caching ๊ณผ Hibernate ํ†ตํ•ฉ ๊ฐ€๋Šฅ
-์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜ (Apache 2.0 license)
-๋ถ„์‚ฐ ์บ์‹œ ์ง€์› (with Terracotta)
์ž์„ธํ•œ ๋‚ด์šฉ์€ http://www.ehcache.org/about/features.html ์ฐธ์กฐ
Ehcache ์†Œ๊ฐœ
โ— JCP ( JAVA Community Process )
์ž๋ฐ” ํ‘œ์ค€์„ ์ •์˜ํ•˜๋Š” ํ‘œ์ค€ํ™” ๊ณผ์ •
โ— JSR ( JAVA Specification Requests )
์ž๋ฐ” Spec ์„ ๊ธฐ์ˆ ํ•˜๋Š” ๊ณต์‹๋ฌธ์„œ .
๊ฐœ์ธ ๋ฐ ์กฐ์ง์€ JCP (Java Community Process) ์˜ ํšŒ์›์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ JSR ์— ์–ธ๊ธ‰ ๋œ ์ŠคํŽ™
์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค . ๊ฐœ๋ฐœ ๋œ ๊ธฐ์ˆ ์  ๋ณ€ํ™”๋Š” JCP ํšŒ์›๋“ค์˜ ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณ ์Šน์ธ๋œ
๋‹ค .
โ— JSR107 ( JCACHE โ€“ Java Temporary Caching API )
์ž๋ฐ” Cache Spec.
๊ฐ์ฒด ์ƒ์„ฑ , ๊ณต์œ  ์•ก์„ธ์Šค , ์Šคํ’€๋ง , ๋ฌดํšจํ™” ๋ฐ JVM ์ „๋ฐ˜์— ๊ฑธ์นœ ์ผ๊ด€์„ฑ์„ ํฌํ•จํ•˜์—ฌ Java
๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์บ์‹ฑ์—์„œ ์‚ฌ์šฉํ•  API ์— ๋Œ€ํ•œ ๊ธฐ์ค€์ด ๋œ๋‹ค .
Ehcache ๋ณ€ํ™”
2003.10 Greg Luck ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์–ด ์ถœ์‹œ
2009.08 Terracotta ์—์„œ Ehcache ์ธ์ˆ˜
2010.04
~ 2011.09
Google-Project ์—์„œ ehcache-spring-annotations.jar ์ œ๊ณต
Spring 2.5 ~ 3.1 ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํ”„๋ง์„ ์œ„ํ•œ anotation ์ œ๊ณต (@Cacheable, @TriggersRemove ๋“ฑ )
2010.09 BigMemory for Ehcache ์ถœ์‹œ
2011.05 Software AG ์—์„œ Terracotta ์ธ์ˆ˜
2011.11 Spring Framework 3.1 ์ถœ์‹œ
- ๊ธฐ๋ณธ์ ์ธ ์บ์‹œ ๊ตฌํ˜„์ฒด๋กœ EhcacheManager ์ œ๊ณต (org.springframework.cache.ehcache.EhCacheCacheManager)
-Spring ์ž์ฒด Annotation ์ œ๊ณต
2013.12 Ehacahe 2.8 release (net.sf.ehcache)
2014.01 Ehcache 2.9 release
2015.03 Ehcache 3.0.0.m1 release (org.ehcache)
2015.04 Ehcache 2.10 release
2018.03 Ehcache 3.5.2 release
๋ถ„์‚ฐ ์บ์‹œ
โ— Hub and Spoke (Ehcache ์—์„œ๋Š” Distributed ๋ผ๊ณ  ํ‘œํ˜„ )
๊ฐ JVM ์ด ๊ฐ€์ง„ย ์บ์‹œ ๋…ธ๋“œ๋“ค์„ ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ์ค‘๊ฐ„์—์„œ ์ œ์–ดํ•˜๋Š” ๊ตฌ์กฐ
โ— Replication, Invalidation
๊ฐ ๋…ธ๋“œ ๊ฐ„ ์บ์‹œ๋ฅผย ๋…ธ๋“œ ์ž์ฒด์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง
EHCache ๋Š” Distributed, Replication, Invalidation ๋ชจ๋‘ ๊ฐ€๋Šฅ .
Distributed ๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ Terracotta Server ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ,
Replication ๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ ๋ณ€๊ฒฝ ํ†ต์ง€๋Š” RMI, JGroups, JMS ๊ฐ™์€
๋งค์ปค๋‹ˆ์ฆ˜์„ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค .
Terracotta Server
- ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐ ๊ฐ์ฒด ์ €์žฅ์†Œ
- JVM ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ”„๋ ˆ์ž„์›Œํฌ
- NAM (NETWORK Attached Memory)
- BigMemory (Full GC ๋ฐฉ์ง€ )
- WAS ์„ธ์…˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง (HttpSession ๋ณต์ œ )
-Session Grid, DataGrid
Terracotta Server ๋ฅผ ์ด์šฉํ•œ ๋ถ„์‚ฐ Cache
Terracotta Server Array
Terracotta Server ๋Š” ์—ฌ๋Ÿฌ๋Œ€๋กœ ์ด์ค‘ํ™” ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ Active-Passive ๋ชจ๋“œ๋กœ
์„œ๋น„์Šค๋ฅผ ํ•˜๊ณ  , ์žฅ์• ๋ฐœ์ƒ ์‹œ ์ž๋™์œผ๋กœ ์žฅ์•  ํ—ˆ์šฉ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
Terracotta
driver
๋ฐ์ดํ„ฐ ์š”๊ตฌ์— ๋”ฐ๋ฅธ ehcache ํ™•์žฅ ๊ตฌ์„ฑ
Enterprise Ehcache
โ— Ehcache License
Ehcache ๋Š” Software AG ํšŒ์‚ฌ์ธ Terracotta ์— ์˜ํ•ด ์œ ์ง€๊ด€๋ฆฌ ๋˜๋ฉฐ
Ehcache ๋Š” ์˜คํ”ˆ ์†Œ์Šค (Apache 2.0 license) ์™€
์ƒ์šฉ Enterprise ์ œํ’ˆ (Terracotta Ehcache) ์œผ๋กœ ๋‚˜๋‰œ๋‹ค .
## Ehcache License : http://www.ehcache.org/about/license.html
โ— Terracotta Ehcache ์—์„œ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ
- Terracotta Management Console(TMC) ๊ณผ ํ•จ๊ป˜ ์›น ๊ธฐ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ์ œ๊ณต
-FRS (Fast Restart) ๊ธฐ๋Šฅ : ๋””์Šคํฌ์— ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€๋œ ์‹ค์‹œ๊ฐ„ ๊ธฐ๋ก์„ ์œ ์ง€ํ•˜์—ฌ
์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ธ‰ ์ถฉ๋Œ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
## Terracotta Ehcache : http://www.terracotta.org/terracotta-ehcache/
## Terracotta Ehcache release : https://confluence.terracotta.org/display/release/Home
Ehcache ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€
ehcache-3.5.2.jar (requires Java 8+)
jar ํŒŒ์ผ์„ ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„ ํด๋ž˜์Šค ํŒจ์Šค์— ์ˆ˜๋™์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๊ฑฐ๋‚˜ Maven ์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ dependecy
์ถ”๊ฐ€ํ•œ๋‹ค . ์ด๋•Œ ๋ฒ„์ „์— ๋”ฐ๋ผ ์˜์กด์„ฑ์ด ์žˆ๋Š” API ๋ฅผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค .
Ehcache 3.x ์—์„œ๋Š” cache-api (javax.cache API) ์™€ SLF4J ( ๋กœ๊น… ์‹œ ํ•„์š” )
2) CacheManager ์ƒ์„ฑ
Ehcache ์—์„œ๋Š” CacheManager ๊ฐ€ ๋ชจ๋“  Cache ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค .
CacheManager ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ํ˜น์€ XML ์„ ํ†ตํ•ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .
3) Cache ์šด์˜
Cache ๊ฐ์ฒด๋ฅผ ๋กœ๋“œ ํ•ด์„œ add, get, remove
Ehcache ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
โ— Java ์—์„œ CacheManager ์ƒ์„ฑ
Ehcache ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
โ— XML ํŒŒ์ผ๋กœ CacheManager ์ƒ์„ฑ
Ehcache + Spring
โ— Spring + ehcache ์—ฐ๋™ ์˜ˆ์‹œ
Ehcache v2 : http://blog.breakingthat.com/2018/03/19/springboot-ehcache-%EC%A0%81%EC%9A%A9
Ehcache v3 : http://www.ehcache.org/blog/2016/05/18/ehcache3_jsr107_spring.html
โ— Spring Cache annotation
https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache-annotations-cac
Ehcache ๋Š” Spring ์—์„œ ์ œ๊ณตํ•˜๋Š” cache annotation ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์บ
์‹ฑ ( ๋ฉ”์„œ๋“œ ์บ์‹ฑ ) ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— Java ๋ฉ”์„œ๋“œ์— ์บ์‹ฑ์„ ์ ์šฉํ•จ์œผ๋กœ์จ ์บ์‹œ์— ๋ณด๊ด€๋œ ์ •
๋ณด๋กœ ๋ฉ”์„œ๋“œ์˜ ์‹คํ–‰ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค .
์ฐธ๊ณ  #1
โ— Ehcache 2.x ๊ธฐ์ค€ Ehcache Architecture ๋‹ค์ด์–ด๊ทธ๋žจ
์ฐธ๊ณ  #2
โ— Ehcache vs Redis vs Memcached
http://vschart.com/compare/ehcache/vs/redis-database/vs/memcached
https://db-engines.com/en/system/Ehcache%3bMemcached%3bRedis

More Related Content

What's hot

์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0
์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0
์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0
sprdd
ย 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
sprdd
ย 
์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต
์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต
์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต
sprdd
ย 
Apache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œ
Apache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œApache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œ
Apache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œ
Opennaru, inc.
ย 
์ฃผํ‚คํผ
์ฃผํ‚คํผ์ฃผํ‚คํผ
์ฃผํ‚คํผ
Junkwang Lee
ย 

What's hot (20)

How to build a web server on Linux.
How to build a web server on Linux.How to build a web server on Linux.
How to build a web server on Linux.
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์•„ํŒŒ์น˜ํ†ฐ์บฃ ์šด์˜๊ฐ€์ด๋“œ v1.3
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์•„ํŒŒ์น˜ํ†ฐ์บฃ ์šด์˜๊ฐ€์ด๋“œ v1.3[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์•„ํŒŒ์น˜ํ†ฐ์บฃ ์šด์˜๊ฐ€์ด๋“œ v1.3
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์•„ํŒŒ์น˜ํ†ฐ์บฃ ์šด์˜๊ฐ€์ด๋“œ v1.3
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Ansible overview
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Ansible overview[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Ansible overview
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Ansible overview
ย 
Servlet3
Servlet3Servlet3
Servlet3
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]J boss6 7_๊ต์œก์ž๋ฃŒ
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]J boss6 7_๊ต์œก์ž๋ฃŒ[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]J boss6 7_๊ต์œก์ž๋ฃŒ
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]J boss6 7_๊ต์œก์ž๋ฃŒ
ย 
Eclipse rcp - first week
Eclipse rcp - first weekEclipse rcp - first week
Eclipse rcp - first week
ย 
์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0
์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0
์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ… ํด๋Ÿฌ์Šคํ„ฐ์ œ์•ˆ V1.0
ย 
๊ฒŒ์ดํŠธ๋‹จ์˜ ๋ณด์•ˆ
๊ฒŒ์ดํŠธ๋‹จ์˜ ๋ณด์•ˆ๊ฒŒ์ดํŠธ๋‹จ์˜ ๋ณด์•ˆ
๊ฒŒ์ดํŠธ๋‹จ์˜ ๋ณด์•ˆ
ย 
Servlet Architecture
Servlet ArchitectureServlet Architecture
Servlet Architecture
ย 
Dbํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ ์„ค์ •(131062 ์žฅํƒ์ˆœ)
Dbํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ ์„ค์ •(131062 ์žฅํƒ์ˆœ)Dbํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ ์„ค์ •(131062 ์žฅํƒ์ˆœ)
Dbํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ ์„ค์ •(131062 ์žฅํƒ์ˆœ)
ย 
ํ†ฐ์บฃ ์šด์˜ ๋…ธํ•˜์šฐ
ํ†ฐ์บฃ ์šด์˜ ๋…ธํ•˜์šฐํ†ฐ์บฃ ์šด์˜ ๋…ธํ•˜์šฐ
ํ†ฐ์บฃ ์šด์˜ ๋…ธํ•˜์šฐ
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์Šค์นด์šฐํ„ฐ ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ 2020
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์Šค์นด์šฐํ„ฐ ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ 2020[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์Šค์นด์šฐํ„ฐ ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ 2020
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ์Šค์นด์šฐํ„ฐ ์‚ฌ์šฉ์ž ๊ฐ€์ด๋“œ 2020
ย 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] RPM ๋งŒ๋“ค๊ธฐ
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] RPM ๋งŒ๋“ค๊ธฐ[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] RPM ๋งŒ๋“ค๊ธฐ
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] RPM ๋งŒ๋“ค๊ธฐ
ย 
์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต
์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต
์˜คํ”ˆ์†Œ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง๋น„๊ต
ย 
Apache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œ
Apache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œApache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œ
Apache Tomcat ( ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ) ์„ค์น˜ ๊ฐ€์ด๋“œ
ย 
์ฃผํ‚คํผ
์ฃผํ‚คํผ์ฃผํ‚คํผ
์ฃผํ‚คํผ
ย 
Install Rails On Mac OS - RORLab Season 3-2
Install Rails On Mac OS - RORLab Season 3-2Install Rails On Mac OS - RORLab Season 3-2
Install Rails On Mac OS - RORLab Season 3-2
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Zabbix Installation and Configuration Guide
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Zabbix Installation and Configuration Guide[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Zabbix Installation and Configuration Guide
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Zabbix Installation and Configuration Guide
ย 
ํ…”๋ ˆ๊ทธ๋žจ์„ ์ด์šฉํ•œ ์–‘๋ฐฉํ–ฅ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ตฌ์ถ•
ํ…”๋ ˆ๊ทธ๋žจ์„ ์ด์šฉํ•œ ์–‘๋ฐฉํ–ฅ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ตฌ์ถ•ํ…”๋ ˆ๊ทธ๋žจ์„ ์ด์šฉํ•œ ์–‘๋ฐฉํ–ฅ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ตฌ์ถ•
ํ…”๋ ˆ๊ทธ๋žจ์„ ์ด์šฉํ•œ ์–‘๋ฐฉํ–ฅ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ตฌ์ถ•
ย 

Similar to Backend Master | 2.2 Cache - Ehcache

์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ
์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ
์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ
VMware Tanzu Korea
ย 
3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser
3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser
3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser
brodiebrodie
ย 
Ibatis
IbatisIbatis
Ibatis
ohgamja3
ย 
ibatis_khhan
ibatis_khhanibatis_khhan
ibatis_khhan
ohgamja3
ย 
[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ
[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ
[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ
NAVER D2
ย 
Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ 
Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ 
Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ 
NAVER D2
ย 

Similar to Backend Master | 2.2 Cache - Ehcache (20)

Spring 3.1์—์„œ ehcache ํ™œ์šฉ ์ „๋žต
Spring 3.1์—์„œ ehcache ํ™œ์šฉ ์ „๋žตSpring 3.1์—์„œ ehcache ํ™œ์šฉ ์ „๋žต
Spring 3.1์—์„œ ehcache ํ™œ์šฉ ์ „๋žต
ย 
์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ
์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ
์ˆจ๊ฒจ์ง„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค: ์ดˆ๊ณ ์† ์‘๋‹ต๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•œ ์บ์‹œ ์„œ๋น„์Šค ๋””์ž์ธ
ย 
ARCUS offline meeting 2015. 05. 20 1ํšŒ
ARCUS offline meeting 2015. 05. 20 1ํšŒARCUS offline meeting 2015. 05. 20 1ํšŒ
ARCUS offline meeting 2015. 05. 20 1ํšŒ
ย 
OPENMARU APM ๋ธŒ๋กœ์…”
OPENMARU APM ๋ธŒ๋กœ์…”OPENMARU APM ๋ธŒ๋กœ์…”
OPENMARU APM ๋ธŒ๋กœ์…”
ย 
์ž๋ฐ”9 ํŠน์ง• (Java9 Features)
์ž๋ฐ”9 ํŠน์ง• (Java9 Features)์ž๋ฐ”9 ํŠน์ง• (Java9 Features)
์ž๋ฐ”9 ํŠน์ง• (Java9 Features)
ย 
Springmvc
SpringmvcSpringmvc
Springmvc
ย 
Eclipse RAP - Single Source
Eclipse RAP - Single SourceEclipse RAP - Single Source
Eclipse RAP - Single Source
ย 
Service Worker ๋ฅผ ์ด์šฉํ•œ โ€จOffline Web Application ๊ตฌํ˜„
Service Worker ๋ฅผ ์ด์šฉํ•œ โ€จOffline Web Application ๊ตฌํ˜„Service Worker ๋ฅผ ์ด์šฉํ•œ โ€จOffline Web Application ๊ตฌํ˜„
Service Worker ๋ฅผ ์ด์šฉํ•œ โ€จOffline Web Application ๊ตฌํ˜„
ย 
200.๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ์ ํ•ฉํ•œ ์˜คํ”ˆ์†Œ์Šค WAS๋Š” ๋ฌด์—‡?
200.๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ์ ํ•ฉํ•œ ์˜คํ”ˆ์†Œ์Šค WAS๋Š” ๋ฌด์—‡?200.๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ์ ํ•ฉํ•œ ์˜คํ”ˆ์†Œ์Šค WAS๋Š” ๋ฌด์—‡?
200.๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ์ ํ•ฉํ•œ ์˜คํ”ˆ์†Œ์Šค WAS๋Š” ๋ฌด์—‡?
ย 
Java memory
Java memoryJava memory
Java memory
ย 
OracleHistory1
OracleHistory1OracleHistory1
OracleHistory1
ย 
About memcached
About memcachedAbout memcached
About memcached
ย 
3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser
3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser
3์žฅ ์ดํด๋ฆฝ์Šค ๊ธฐ๋ฐ˜๊ตฌ์กฐ eclipser
ย 
Sonatype nexus ๋กœ docker registry ๊ด€๋ฆฌํ•˜๊ธฐ
Sonatype nexus ๋กœ docker registry ๊ด€๋ฆฌํ•˜๊ธฐSonatype nexus ๋กœ docker registry ๊ด€๋ฆฌํ•˜๊ธฐ
Sonatype nexus ๋กœ docker registry ๊ด€๋ฆฌํ•˜๊ธฐ
ย 
Apache http component
Apache http componentApache http component
Apache http component
ย 
Ibatis
IbatisIbatis
Ibatis
ย 
ibatis_khhan
ibatis_khhanibatis_khhan
ibatis_khhan
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ARM & OpenStack Community
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ARM & OpenStack Community[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ARM & OpenStack Community
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…] ARM & OpenStack Community
ย 
[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ
[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ
[Hello world ์˜คํ”ˆ์„ธ๋ฏธ๋‚˜]open api client๊ฐœ๋ฐœ
ย 
Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ 
Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ 
Memcached์˜ ํ™•์žฅ์„ฑ ๊ฐœ์„ 
ย 

More from Kyunghun Jeon

More from Kyunghun Jeon (10)

Backend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker IntroductionBackend Master | 3.4.2 Deploy - Docker Introduction
Backend Master | 3.4.2 Deploy - Docker Introduction
ย 
Backend Master | 3.4.5 Deploy - Docker Principal
Backend Master | 3.4.5 Deploy - Docker PrincipalBackend Master | 3.4.5 Deploy - Docker Principal
Backend Master | 3.4.5 Deploy - Docker Principal
ย 
Backend Master | 3.2.1 Test - JUnit
Backend Master | 3.2.1 Test - JUnitBackend Master | 3.2.1 Test - JUnit
Backend Master | 3.2.1 Test - JUnit
ย 
Backend Master | 3.4.1 Deploy - Deploy Automation
Backend Master | 3.4.1 Deploy - Deploy AutomationBackend Master | 3.4.1 Deploy - Deploy Automation
Backend Master | 3.4.1 Deploy - Deploy Automation
ย 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
ย 
Backend Master | 3.1.3 Build - Java build tool - Gradle
Backend Master | 3.1.3 Build - Java build tool - GradleBackend Master | 3.1.3 Build - Java build tool - Gradle
Backend Master | 3.1.3 Build - Java build tool - Gradle
ย 
Backend Master | 3.1.2 Build - Java build tool - Maven
Backend Master | 3.1.2 Build - Java build tool - MavenBackend Master | 3.1.2 Build - Java build tool - Maven
Backend Master | 3.1.2 Build - Java build tool - Maven
ย 
Backend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsBackend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build tools
ย 
Backend Master | 2.1.4 Cache - Redis Clustering part.1
Backend Master | 2.1.4 Cache - Redis Clustering part.1Backend Master | 2.1.4 Cache - Redis Clustering part.1
Backend Master | 2.1.4 Cache - Redis Clustering part.1
ย 
Backend Master | 1.1 Enhancing performance - Scalability (Scale UP & OUT)
Backend Master | 1.1 Enhancing performance - Scalability (Scale UP & OUT)Backend Master | 1.1 Enhancing performance - Scalability (Scale UP & OUT)
Backend Master | 1.1 Enhancing performance - Scalability (Scale UP & OUT)
ย 

Backend Master | 2.2 Cache - Ehcache

  • 2. Ehcache ์†Œ๊ฐœ EhCache ๋Š” ์ž๋ฐ”์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์บ์‹œ -๊ฒฝ๋Ÿ‰์ด๊ณ  ๋น ๋ฅด๋‹ค -ํ™•์žฅ์„ฑ (Scalable) : ๋ฉ”๋ชจ๋ฆฌ / ๋””์Šคํฌ ์ €์žฅ ์ง€์› , ๋ฉ€ํ‹ฐ CPU ์˜ ๋™์‹œ ์ ‘๊ทผ์— ํŠœ๋‹ -JSR107 (Jcache spec) ํ‘œ์ค€ ์ง€์› : Spring Caching ๊ณผ Hibernate ํ†ตํ•ฉ ๊ฐ€๋Šฅ -์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜ (Apache 2.0 license) -๋ถ„์‚ฐ ์บ์‹œ ์ง€์› (with Terracotta) ์ž์„ธํ•œ ๋‚ด์šฉ์€ http://www.ehcache.org/about/features.html ์ฐธ์กฐ
  • 3. Ehcache ์†Œ๊ฐœ โ— JCP ( JAVA Community Process ) ์ž๋ฐ” ํ‘œ์ค€์„ ์ •์˜ํ•˜๋Š” ํ‘œ์ค€ํ™” ๊ณผ์ • โ— JSR ( JAVA Specification Requests ) ์ž๋ฐ” Spec ์„ ๊ธฐ์ˆ ํ•˜๋Š” ๊ณต์‹๋ฌธ์„œ . ๊ฐœ์ธ ๋ฐ ์กฐ์ง์€ JCP (Java Community Process) ์˜ ํšŒ์›์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ JSR ์— ์–ธ๊ธ‰ ๋œ ์ŠคํŽ™ ์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค . ๊ฐœ๋ฐœ ๋œ ๊ธฐ์ˆ ์  ๋ณ€ํ™”๋Š” JCP ํšŒ์›๋“ค์˜ ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณ ์Šน์ธ๋œ ๋‹ค . โ— JSR107 ( JCACHE โ€“ Java Temporary Caching API ) ์ž๋ฐ” Cache Spec. ๊ฐ์ฒด ์ƒ์„ฑ , ๊ณต์œ  ์•ก์„ธ์Šค , ์Šคํ’€๋ง , ๋ฌดํšจํ™” ๋ฐ JVM ์ „๋ฐ˜์— ๊ฑธ์นœ ์ผ๊ด€์„ฑ์„ ํฌํ•จํ•˜์—ฌ Java ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์บ์‹ฑ์—์„œ ์‚ฌ์šฉํ•  API ์— ๋Œ€ํ•œ ๊ธฐ์ค€์ด ๋œ๋‹ค .
  • 4. Ehcache ๋ณ€ํ™” 2003.10 Greg Luck ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์–ด ์ถœ์‹œ 2009.08 Terracotta ์—์„œ Ehcache ์ธ์ˆ˜ 2010.04 ~ 2011.09 Google-Project ์—์„œ ehcache-spring-annotations.jar ์ œ๊ณต Spring 2.5 ~ 3.1 ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํ”„๋ง์„ ์œ„ํ•œ anotation ์ œ๊ณต (@Cacheable, @TriggersRemove ๋“ฑ ) 2010.09 BigMemory for Ehcache ์ถœ์‹œ 2011.05 Software AG ์—์„œ Terracotta ์ธ์ˆ˜ 2011.11 Spring Framework 3.1 ์ถœ์‹œ - ๊ธฐ๋ณธ์ ์ธ ์บ์‹œ ๊ตฌํ˜„์ฒด๋กœ EhcacheManager ์ œ๊ณต (org.springframework.cache.ehcache.EhCacheCacheManager) -Spring ์ž์ฒด Annotation ์ œ๊ณต 2013.12 Ehacahe 2.8 release (net.sf.ehcache) 2014.01 Ehcache 2.9 release 2015.03 Ehcache 3.0.0.m1 release (org.ehcache) 2015.04 Ehcache 2.10 release 2018.03 Ehcache 3.5.2 release
  • 5. ๋ถ„์‚ฐ ์บ์‹œ โ— Hub and Spoke (Ehcache ์—์„œ๋Š” Distributed ๋ผ๊ณ  ํ‘œํ˜„ ) ๊ฐ JVM ์ด ๊ฐ€์ง„ย ์บ์‹œ ๋…ธ๋“œ๋“ค์„ ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ์ค‘๊ฐ„์—์„œ ์ œ์–ดํ•˜๋Š” ๊ตฌ์กฐ โ— Replication, Invalidation ๊ฐ ๋…ธ๋“œ ๊ฐ„ ์บ์‹œ๋ฅผย ๋…ธ๋“œ ์ž์ฒด์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง EHCache ๋Š” Distributed, Replication, Invalidation ๋ชจ๋‘ ๊ฐ€๋Šฅ . Distributed ๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ Terracotta Server ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ , Replication ๋ฅผ ์„ ํƒํ•  ๊ฒฝ์šฐ ๋ณ€๊ฒฝ ํ†ต์ง€๋Š” RMI, JGroups, JMS ๊ฐ™์€ ๋งค์ปค๋‹ˆ์ฆ˜์„ ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜•ํƒœ๋กœ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค .
  • 6. Terracotta Server - ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐ ๊ฐ์ฒด ์ €์žฅ์†Œ - JVM ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ”„๋ ˆ์ž„์›Œํฌ - NAM (NETWORK Attached Memory) - BigMemory (Full GC ๋ฐฉ์ง€ ) - WAS ์„ธ์…˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง (HttpSession ๋ณต์ œ ) -Session Grid, DataGrid
  • 7. Terracotta Server ๋ฅผ ์ด์šฉํ•œ ๋ถ„์‚ฐ Cache
  • 8. Terracotta Server Array Terracotta Server ๋Š” ์—ฌ๋Ÿฌ๋Œ€๋กœ ์ด์ค‘ํ™” ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ Active-Passive ๋ชจ๋“œ๋กœ ์„œ๋น„์Šค๋ฅผ ํ•˜๊ณ  , ์žฅ์• ๋ฐœ์ƒ ์‹œ ์ž๋™์œผ๋กœ ์žฅ์•  ํ—ˆ์šฉ ๊ธฐ๋Šฅ์„ ์ œ๊ณต Terracotta driver
  • 9. ๋ฐ์ดํ„ฐ ์š”๊ตฌ์— ๋”ฐ๋ฅธ ehcache ํ™•์žฅ ๊ตฌ์„ฑ
  • 10. Enterprise Ehcache โ— Ehcache License Ehcache ๋Š” Software AG ํšŒ์‚ฌ์ธ Terracotta ์— ์˜ํ•ด ์œ ์ง€๊ด€๋ฆฌ ๋˜๋ฉฐ Ehcache ๋Š” ์˜คํ”ˆ ์†Œ์Šค (Apache 2.0 license) ์™€ ์ƒ์šฉ Enterprise ์ œํ’ˆ (Terracotta Ehcache) ์œผ๋กœ ๋‚˜๋‰œ๋‹ค . ## Ehcache License : http://www.ehcache.org/about/license.html โ— Terracotta Ehcache ์—์„œ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ - Terracotta Management Console(TMC) ๊ณผ ํ•จ๊ป˜ ์›น ๊ธฐ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ์ œ๊ณต -FRS (Fast Restart) ๊ธฐ๋Šฅ : ๋””์Šคํฌ์— ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€๋œ ์‹ค์‹œ๊ฐ„ ๊ธฐ๋ก์„ ์œ ์ง€ํ•˜์—ฌ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ธ‰ ์ถฉ๋Œ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณต ## Terracotta Ehcache : http://www.terracotta.org/terracotta-ehcache/ ## Terracotta Ehcache release : https://confluence.terracotta.org/display/release/Home
  • 11. Ehcache ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• 1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ ehcache-3.5.2.jar (requires Java 8+) jar ํŒŒ์ผ์„ ์ง์ ‘ ๋‹ค์šด๋ฐ›์•„ ํด๋ž˜์Šค ํŒจ์Šค์— ์ˆ˜๋™์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๊ฑฐ๋‚˜ Maven ์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ dependecy ์ถ”๊ฐ€ํ•œ๋‹ค . ์ด๋•Œ ๋ฒ„์ „์— ๋”ฐ๋ผ ์˜์กด์„ฑ์ด ์žˆ๋Š” API ๋ฅผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค . Ehcache 3.x ์—์„œ๋Š” cache-api (javax.cache API) ์™€ SLF4J ( ๋กœ๊น… ์‹œ ํ•„์š” ) 2) CacheManager ์ƒ์„ฑ Ehcache ์—์„œ๋Š” CacheManager ๊ฐ€ ๋ชจ๋“  Cache ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค . CacheManager ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ํ˜น์€ XML ์„ ํ†ตํ•ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . 3) Cache ์šด์˜ Cache ๊ฐ์ฒด๋ฅผ ๋กœ๋“œ ํ•ด์„œ add, get, remove
  • 12. Ehcache ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• โ— Java ์—์„œ CacheManager ์ƒ์„ฑ
  • 13. Ehcache ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• โ— XML ํŒŒ์ผ๋กœ CacheManager ์ƒ์„ฑ
  • 14. Ehcache + Spring โ— Spring + ehcache ์—ฐ๋™ ์˜ˆ์‹œ Ehcache v2 : http://blog.breakingthat.com/2018/03/19/springboot-ehcache-%EC%A0%81%EC%9A%A9 Ehcache v3 : http://www.ehcache.org/blog/2016/05/18/ehcache3_jsr107_spring.html โ— Spring Cache annotation https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache-annotations-cac Ehcache ๋Š” Spring ์—์„œ ์ œ๊ณตํ•˜๋Š” cache annotation ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์บ ์‹ฑ ( ๋ฉ”์„œ๋“œ ์บ์‹ฑ ) ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— Java ๋ฉ”์„œ๋“œ์— ์บ์‹ฑ์„ ์ ์šฉํ•จ์œผ๋กœ์จ ์บ์‹œ์— ๋ณด๊ด€๋œ ์ • ๋ณด๋กœ ๋ฉ”์„œ๋“œ์˜ ์‹คํ–‰ ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค .
  • 15. ์ฐธ๊ณ  #1 โ— Ehcache 2.x ๊ธฐ์ค€ Ehcache Architecture ๋‹ค์ด์–ด๊ทธ๋žจ
  • 16. ์ฐธ๊ณ  #2 โ— Ehcache vs Redis vs Memcached http://vschart.com/compare/ehcache/vs/redis-database/vs/memcached https://db-engines.com/en/system/Ehcache%3bMemcached%3bRedis

Editor's Notes

  1. Ehcache๋Š” ์ž๋ฐ”์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ์บ์‹œ๋กœ ์ž๋ฐ” ํ‘œ์ค€ ์บ์‹œ ์ŠคํŽ™ ์ง€์›ํ•˜๋ฉฐ ๋ถ„์‚ฐ ์บ์‹ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Ehcache๋Š” ๋…๋ฆฝ์ ์ธ ์บ์‹œ ๋ฐ๋ชฌ์„ ๊ฐ€์ง€์ง€ ์•Š๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™ ์‹œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๊ฒฉ ์บ์‹œ ์„œ๋ฒ„ ์‚ฌ์šฉ์œผ๋กœ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์ง€์—ฐ ๋˜๋Š” ๋‹จ์ ˆ๋กœ ์ธํ•œ ๋ฐ์ดํ„ฐ ์œ ์‹ค์ด ๊ฑฐ์˜ ์—†์œผ๋ฏ€๋กœ local cahce๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. http://jdm.kr/blog/207
  2. JSR์ด๋ž€ ์ž๋ฐ” ์ŠคํŽ™์„ ๊ธฐ์ˆ ํ•˜๋Š” ๊ณต์‹๋ฌธ์„œ์ด๊ณ  ๊ทธ ์ค‘ JSR107์€ ์ž๋ฐ”์˜ ํ‘œ์ค€ ์บ์‹œ ์ŠคํŽ™์œผ๋กœ java ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์บ์‹ฑ์—์„œ ์‚ฌ์šฉํ•  API์— ๋Œ€ํ•œ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ JSR107 ์ŠคํŽ™์œผ๋กœ ๊ตฌํ˜„๋œ๊ฒŒ ehcache ์ด๋ฉฐ, ๋”ฐ๋ผ์„œ ehcache๋Š” JSR 107์— ๊ธฐ๋ฐ˜ํ•œ ๊ตฌํ˜„์ฒด์ž…๋‹ˆ๋‹ค. Ehcache๋Š” JSR107 ์ŠคํŽ™์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Spring ์ด๋‚˜ hibernate์™€ ๊ฐ™์€ ์ธ๊ธฐ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐ™์ด ํ†ตํ•ฉํ•ด์„œ ํญ๋„“๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. Ehcache๋Š” 2003๋…„ 10์›” Greg Luck์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ 2009๋…„ ์ „๊นŒ์ง€๋Š” ํฌ๊ฒŒ ์ฃผ๋ชฉ ๋ฐ›์ง€ ๋ชปํ–ˆ์œผ๋‚˜ terracotta ์—์„œ ehcache๋ฅผ ์ธ์ˆ˜ํ•˜๋ฉด์„œ ์ฃผ๋ชฉ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. Terracotta๋Š” 2004๋…„ ๋ถ€ํ„ฐ ๊ธฐ์—…์„ ์œ„ํ•œ ์ธ-๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜ ๊ณต๊ธ‰์—…์ฒด์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํ…Œ๋ผ ์ฝ”ํƒ€์— ehcache๊ฐ€ ์ธ์ˆ˜๋˜๋ฉด์„œ Big Memory ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๋“ค์ด ๋‚˜์˜ค๊ฒŒ ๋˜๋ฉฐ ํŠนํžˆ ๊ธฐ์กด์—๋Š” ๋ถ„์‚ฐ์บ์‹œ๊ธฐ๋Šฅ์ด ์•ฝํ–ˆ๋Š”๋ฐ ์ด ๋ถ€๋ถ„์ด ๊ฐ•ํ•ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์›๋ž˜ ๊ธฐ์กด ehcache ์—์„œ ๋ถ„์‚ฐ ์บ์‹ฑ์€ ๋ณต์ œ ๋ฐฉ์‹๋งŒ ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ ํ…Œ๋ผ์ฝ”ํƒ€ ๋•์— ๊ธ€๋กœ๋ฒŒ ์บ์‹œ๋ฅผ ๋‘๊ณ  ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹๊นŒ์ง€ ์ง€์›ํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ํ…Œ๋ผ์ฝ”ํƒ€ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•œ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฐฉ์‹๋งŒ ์‚ฌ์šฉ Ehcache์˜ ๋ณ€ํ™”์—์„œ Spring annotation๊ณผ ๊ด€๋ จ๋œ ๋ถ€๋ถ„์ด ํฌํ•จ๋˜์–ด์žˆ๋Š”๋ฐ ์ด ๋ถ€๋ถ„์€, ehcache๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋กœ๋“œํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ์ฒด๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฉ”์†Œ๋“œ๋ฅผ ์ฝœ ํ•ด์•ผํ–ˆ๋Š”๋ฐ ์Šคํ”„๋ง์„ ํ†ตํ•ด ์บ์‹œ ์ถ”์ƒํ™”(CacheManager)๋ฅผ ํ•˜๋ฉด ์Šคํ”„๋ง ์–ด๋…ธํ…Œ์ด์…˜์ด ๋ถ™์€ ๋ฉ”์„œ๋“œ์™€ ์—ฐ๊ด€๋œ ์บ์‹œ์˜ ์ด๋ฆ„๋งŒ์œผ๋กœ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์–ด์„œ Spring๊ณผ ํ•จ๊ป˜ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. -------------------------------------------------------------------------------------------- ์Šคํ”„๋ง 3.1 ์ด์ „์—๋Š” ์Šคํ”„๋ง์—์„œ ์–ด๋…ธํ…Œ์ด์…˜์„ ์ง์ ‘ ์ œ๊ณตํ•˜์ง€ ์•Š์•„์„œ ์Šคํ”„๋ง์—์„œ ์–ด๋…ธํ…Œ์ด์…˜์„ ์“ธ ์ˆ˜ ์ž‡๋„๋ก ๊ตฌ๊ธ€ ํ”„๋กœ์ ํŠธ์— ๋ณด๋ฉด ehcache spring Integration์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์—ˆ๊ณ  ์—ฌ๊ธฐ์„œ ๋งŒ๋“  jarํŒŒ์ผ์„ import ํ•ด์„œ ์‚ฌ์šฉํ•จ ํ•˜์ง€๋งŒ ์Šคํ”„๋ง 3.1๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ ๋ณ„๋„๋กœ import ํ•˜์ง€ ์•Š์•„๋„ ๋จ RedisCacheManager๋Š” ์Šคํ”„๋ง 3.2์—์„œ ์ œ๊ณต Google-project(ehcache-spring-annotations) : https://code.google.com/archive/p/ehcache-spring-annotations/ Spring anotation : http://www.ehcache.org/documentation/2.8/integrations/spring.html
  4. Distributed(๋ถ„์‚ฐ) , Replication(๋ณต์ œ), Invalidation(๋ฌดํšจํ™”) ๋ถ„์‚ฐ ์บ์‹ฑ์€ ํฌ๊ฒŒ [๊ฐ ์บ์‹œ ๋…ธ๋“œ๋“ค์„ ์ค‘๊ฐ„์—์„œ ์ œ์–ดํ•˜๋Š” ๊ตฌ์กฐ] ์™€ [๊ฐ ๋…ธ๋“œ ๋“ค๋ผ๋ฆฌ ์ž์ฒด์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ•˜๋Š” ๊ตฌ์กฐ ] ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์ง‘๋‹ˆ๋‹ค. Hub and Spoke ๊ตฌ์กฐ๋Š” ๊ฐ JVM์ด ๊ฐ€์ง„ ์บ์‹œ ๋…ธ๋“œ๋“ค์„ ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ์ค‘๊ฐ„์—์„œ ์ œ์–ดํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๊ฐ ๋…ธ๋“œ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ ๋˜๋ฉด ์ค‘์•™์˜ ์บ์‹œ ์„œ๋ฒ„์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ „๋‹ฌํ•˜๋ฉด ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ๋‹ค์‹œ ๋‚˜๋จธ์ง€ ๋…ธ๋“œ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Replication(๋ณต์ œ)์˜ ๊ฒฝ์šฐ ๊ฐ ๋…ธ๋“œ๊ฐ„ ์บ์‹œ๋ฅผ ๋…ธ๋“œ ์ž์ฒด์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ•˜๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ๋Š” ํ•œ ๋…ธ๋“œ์—์„œ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋‚˜๋จธ์ง€ ๋…ธ๋“œ์— ์ง์ ‘ ๋ณ€๊ฒฝ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. Ehcache๋Š” ๋‘ ๊ธฐ๋Šฅ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•˜๋ฉฐ Ehcache 3๋ฒ„์ „์„ ๊ธฐ์ค€์œผ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์ค‘์•™์—์„œ ์ œ์–ดํ•˜๋Š” Terracotta Server๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (Ehcache ํ™ˆํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด Ehcache2๋ฒ„์ „์—์„œ๋Š” RMI ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋Š” ๋“ฑ์˜ ์—ฐ๊ณ„ ๋ฌธ์„œ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ Ehcache3์—์„œ๋Š” ์‚ฌ๋ผ์ง ) http://www.mukgee.com/?tag=%EB%B6%84%EC%82%B0%EC%BA%90%EC%89%AC
  5. ํ…Œ๋ผ์ฝ”ํƒ€ ์„œ๋ฒ„๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ ๋ถ„์‚ฐ ๊ฐ์ฒด ์ €์žฅ์†Œ๋กœ JVM ํด๋Ÿฌ์ŠคํŠธ๋ง, NAM, Big Memorry ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. NAM์€ ๋„คํŠธ์›Œํฌ์ƒ์— ๊ฐ€์ƒ์— ๋ฉ”๋ชจ๋ฆฌ๋กœ ์•„์ฃผ ํฐ ๋ฉ”๋ชจ๋ฆฌ ์„œ๋ฒ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. BigMemory๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์บ์‹œ์—์„œ "ํž™ (off-heap) ์ €์žฅ์†Œโ€œ ๋ผ๊ณ  ํ•˜๋Š”, ๊ฐ์ฒด ํž™ ์™ธ๋ถ€์— ์ถ”๊ฐ€ ์œ ํ˜•์˜ ๋ฉ”๋ชจ๋ฆฌ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ, ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๊ฐ€๋น„์ง€ ์ปฌ๋ž™์…˜์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š”๋ฐ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ๋Š๋ผ์ง€ ๋ชปํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  6. Ehcache์—์„œ๋Š” ํ…Œ๋ผ์ฝ”ํƒ€ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•ด์„œ ๋ถ„์‚ฐ ์บ์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Terracotta server๋Š” ๊ฐ ์บ์‹œ ๋…ธ๋“œ๋“ค์˜ ํ—ˆ๋ธŒ ์—ญํ• ์„ ํ•˜๋Š” ๋ถ„์‚ฐ ์บ์‹œ ์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ ์บ์‹œ ๋…ธ๋“œ์˜ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์บ์‹œ์˜ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ๋ถ€ํ•˜๋Š” Terracotta server์— ์œ„์ž„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ธก์˜ Ehcache ํด๋Ÿฌ์Šคํ„ฐ ๊ณ„์ธต ๊ด€๋ฆฌ์ž๋Š” ๊ณ ์œ  ์‹๋ณ„์ž๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค.ย  ํŠน์ • ํด๋Ÿฌ์Šคํ„ฐ ๊ณ„์ธต ๊ด€๋ฆฌ์ž์˜ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์บ์‹œ ๊ด€๋ฆฌ์ž๊ฐ€ ๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๊ณ„์ธต ๊ด€๋ฆฌ์ž์— ์—ฐ๊ฒฐํ•˜์—ฌ ์บ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. http://www.ehcache.org/documentation/3.5/clustered-cache.html
  7. Terracotta Server๋Š” ์—ฌ๋Ÿฌ ๋Œ€๋กœ ์ด์ค‘ํ™” ๊ตฌ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ๊ตฌ์„ฑ์„ Terracotta Server Array๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. Terracptta ์†Œ๊ฐœ : http://softwareag.biworks.co.kr/wp-content/uploads/2014/08/Terracotta%20Overview_Ver0.1_KR.pdf NEXTREE (๋ถ„์‚ฐ์บ์‹œ-EhCache+Terracotta Server Array ) : http://webcache.googleusercontent.com/search?q=cache:cGOOyTmyIdQJ:nextree.co.kr/p3151/+&cd=4&hl=ko&ct=clnk&gl=kr
  8. ์ด์ฒ˜๋Ÿผ Ehcache๋Š” ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋งž๊ฒŒ ํ™•์žฅ๋˜๋ฉฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Terracptta ์†Œ๊ฐœ : http://softwareag.biworks.co.kr/wp-content/uploads/2014/08/Terracotta%20Overview_Ver0.1_KR.pdf
  9. ๋ผ์ด์„ ์Šค๊ฐ€ ์• ๋งค ์˜คํ”ˆ ์†Œ์Šค๊ธด ํ•œ๋ฐ ์ƒ์šฉํ™” ๋ฒ„์ „์ด ๋ณ„๋„๋กœ ์กด์žฌ ์ฝ”์–ด ๊ธฐ๋Šฅ์€ ๋™์ผํ•˜์ง€๋งŒ ๊ด€๋ฆฌ์š”์†Œ๋‚˜ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ๋“ค์ด ๋‹ค๋ฆ„ ๊ทธ๋Ÿฐ๋ฐ Ehcache License ์—์„œ ํ™•์ธํ•ด๋ณด๋ฉด ์ƒ์šฉ ๊ด€๋ จ ๋งํฌ๊ฐ€ ๊นจ์ ธ์žˆ๊ณ  Terracotta Ehcache ์—์„œ ํ™•์ธํ•ด๋ณด๋ฉด ์ƒ์šฉํ™” ๋˜๋ฉด์„œ ์ถ”๊ฐ€๋œ ๋ถ€๋ถ„์ด ๋‚˜์˜ค์ง€๋งŒ ์‹ค์ œ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋ฐ›์„์ˆ˜ ์—†์–ด์„œ ์‹ค์ œ ๋ผ์ด์„ ์Šค ๋ฒ”์œ„๊ฐ€ ์–ด๋””๊นŒ์ง€ ์ธ์ง€ ํ™•์ธ์ด ์•ˆ๋จ.
  10. http://www.ehcache.org/documentation/3.5/getting-started.html
  11. http://www.ehcache.org/documentation/3.5/getting-started.html
  12. http://www.ehcache.org/documentation/3.5/getting-started.html
  13. http://www.ehcache.org/documentation/3.5/getting-started.html Spring ์บ์‹œ ์ถ”์ƒํ™” : https://blog.outsider.ne.kr/1094 EHCache (ehcache-spring-annotations, ehcache.xml, @Cacheable) : http://sjh836.tistory.com/129 ๋Œ€์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ™์€ ์ธ์ž๋กœ ์ด๋ฏธ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ๋น„์šฉ์ด ํฐ ๋ฉ”์„œ๋“œ(CPU๋“  IO๋“ )๋ฅผ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  14. https://dzone.com/articles/role-caching-large-scale
  15. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์‹ค์ œ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•œ ๋’ค์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜ํ•ด์„œ ๋‹ค์Œ ๋ฒˆ ํ˜ธ์ถœ ์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๋ฌผ๋ก  ์ด ์ ‘๊ทผ๋ฐฉ๋ฒ•์€ ์–ผ๋งˆ๋‚˜ ๋งŽ์ด ํ˜ธ์ถœํ•˜๋“ ์ง€ ๊ฐ„์— ์ž…๋ ฅ(ํ˜น์€ ์ธ์ž)์ด ๊ฐ™์œผ๋ฉด ์ถœ๋ ฅ(๊ฒฐ๊ณผ)๋„ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜๋Š” ๋ฉ”์„œ๋“œ์—์„œ๋งŒ ๋™์ž‘ http://sjh836.tistory.com/129