SlideShare a Scribd company logo
1 of 93
Download to read offline
@ljacomet#ehcachedvx
Caching reboot
javax.cache & Ehcache 3
@ljacomet#ehcachedvx
Agenda
@ljacomet#ehcachedvx
Agenda
• Why a cache?
@ljacomet#ehcachedvx
Agenda
• Why a cache?
• JSR-107
• APIs and features
• Provider extensions
@ljacomet#ehcachedvx
Agenda
• Why a cache?
• JSR-107
• APIs and features
• Provider extensions
• Caching in an application
• Cache aside
• Cache through
@ljacomet#ehcachedvx
Agenda
• Why a cache?
• JSR-107
• APIs and features
• Provider extensions
• Caching in an application
• Cache aside
• Cache through
• Resilience strategy
@ljacomet#ehcachedvx
Agenda
• Why a cache?
• JSR-107
• APIs and features
• Provider extensions
• Caching in an application
• Cache aside
• Cache through
• Resilience strategy
• Extras
@ljacomet#ehcachedvx
Who am I?
• Louis Jacomet
• Software engineer, closer to 40 than 20 and still coding!
• Engineer at Terracotta (Software AG) since 2013
• Working on Ehcache OS and EE mostly
• team manager and fiddling in infrastructure
• No idea how to do a (nice) UI - especially a web one
• Enjoys concurrency, thinking hard about APIs, …
Why a cache?
@ljacomet#ehcachedvx
Why a cache?
@ljacomet#ehcachedvx
What were these numbers?
@ljacomet#ehcachedvx
What were these numbers?
• Minute:
• L1$cache$access$$$$$$$$$$$$$$$0,5$s$$$One$heartbeat$
• Branch$misprediction$$$$$$$$$$5$$$s$$$Yawn$
• L2$cache$access$$$$$$$$$$$$$$$7$$$s$$$Long$yawn$
• Mutex$lock/unlock$$$$$$$$$$$$25$$$s$$$Coffee$preparation
@ljacomet#ehcachedvx
What were these numbers?
• Minute:
• L1$cache$access$$$$$$$$$$$$$$$0,5$s$$$One$heartbeat$
• Branch$misprediction$$$$$$$$$$5$$$s$$$Yawn$
• L2$cache$access$$$$$$$$$$$$$$$7$$$s$$$Long$yawn$
• Mutex$lock/unlock$$$$$$$$$$$$25$$$s$$$Coffee$preparation
• Hour:
• RAM$access$$$$$$$$$$$$$$$$$$100$$$s$$$Brushing$your$teeth$
• Compressing$1K$$$$$$$$$$$$$$$50$$$min$One$TV$show$episode
@ljacomet#ehcachedvx
What were these numbers?
• Minute:
• L1$cache$access$$$$$$$$$$$$$$$0,5$s$$$One$heartbeat$
• Branch$misprediction$$$$$$$$$$5$$$s$$$Yawn$
• L2$cache$access$$$$$$$$$$$$$$$7$$$s$$$Long$yawn$
• Mutex$lock/unlock$$$$$$$$$$$$25$$$s$$$Coffee$preparation
• Hour:
• RAM$access$$$$$$$$$$$$$$$$$$100$$$s$$$Brushing$your$teeth$
• Compressing$1K$$$$$$$$$$$$$$$50$$$min$One$TV$show$episode
• Day:
• 2KB$sent$on$1GB$network$$$$$$$5,5$h$$$Your$work$afternoon
@ljacomet#ehcachedvx
What were these numbers?
@ljacomet#ehcachedvx
What were these numbers?
• Week:
• Random$read$SSD$$$$$$$$$$$$$$$$$1,7$d$$$$$$$A$weekNend$
• Sequence$read$1$MB$from$RAM$$$$$2,9$d$$$$$$$A$long$weekNend$
• Round$trip$in$datacenter$$$$$$$$5,8$d$$$$$$$Holidays$
• Sequence$read$1MB$from$SSD$$$$$11,6$d$$$$$$$Two$weeks$delivery
@ljacomet#ehcachedvx
What were these numbers?
• Week:
• Random$read$SSD$$$$$$$$$$$$$$$$$1,7$d$$$$$$$A$weekNend$
• Sequence$read$1$MB$from$RAM$$$$$2,9$d$$$$$$$A$long$weekNend$
• Round$trip$in$datacenter$$$$$$$$5,8$d$$$$$$$Holidays$
• Sequence$read$1MB$from$SSD$$$$$11,6$d$$$$$$$Two$weeks$delivery
• Year:
• Seek$on$rotational$HDD$$$$$$$$$16,5$weeks$$$School$semester$
• Sequence$read$1MB$from$HDD$$$$$$7,8$months$$Almost$a$baby
@ljacomet#ehcachedvx
What were these numbers?
• Week:
• Random$read$SSD$$$$$$$$$$$$$$$$$1,7$d$$$$$$$A$weekNend$
• Sequence$read$1$MB$from$RAM$$$$$2,9$d$$$$$$$A$long$weekNend$
• Round$trip$in$datacenter$$$$$$$$5,8$d$$$$$$$Holidays$
• Sequence$read$1MB$from$SSD$$$$$11,6$d$$$$$$$Two$weeks$delivery
• Year:
• Seek$on$rotational$HDD$$$$$$$$$16,5$weeks$$$School$semester$
• Sequence$read$1MB$from$HDD$$$$$$7,8$months$$Almost$a$baby
• Decade:
• Data$roundNtrip$around$the$world$4,8$years$$PhD$thesis
@ljacomet#ehcachedvx
So what is a cache?
@ljacomet#ehcachedvx
So what is a cache?
• Data structure holding a temporary copy of some data
@ljacomet#ehcachedvx
So what is a cache?
• Data structure holding a temporary copy of some data
• Trade off between higher memory usage for reduced latency
@ljacomet#ehcachedvx
So what is a cache?
• Data structure holding a temporary copy of some data
• Trade off between higher memory usage for reduced latency
• Targets :
• Data which is reused
• Data which is expensive to compute or retrieve
@ljacomet#ehcachedvx
Ehcache (3)
@ljacomet#ehcachedvx
Ehcache (3)
• New version, fully integrated with JSR-107
• Breaks compatibility with 2.x line
@ljacomet#ehcachedvx
Ehcache (3)
• New version, fully integrated with JSR-107
• Breaks compatibility with 2.x line
• Developed in the open
• https://github.com/ehcache/ehcache3
@ljacomet#ehcachedvx
Ehcache (3)
• New version, fully integrated with JSR-107
• Breaks compatibility with 2.x line
• Developed in the open
• https://github.com/ehcache/ehcache3
• Public dev meeting, almost weekly, on hangouts on air
• Recordings available onYoutube
JSR-107 - javx.caching
@ljacomet#ehcachedvx
JSR-107
@ljacomet#ehcachedvx
JSR-107
• Ancient JSR
• Started in 2001
• Approved a year ago (March 2014)
@ljacomet#ehcachedvx
JSR-107
• Ancient JSR
• Started in 2001
• Approved a year ago (March 2014)
• javax.caching API + TCK + reference implementation
• Eases integration of a cache in frameworks
@ljacomet#ehcachedvx
JSR-107
• Ancient JSR
• Started in 2001
• Approved a year ago (March 2014)
• javax.caching API + TCK + reference implementation
• Eases integration of a cache in frameworks
• Ongoing discussions about a version 2.0
• Async API for example
@ljacomet#ehcachedvx
JSR-107 : Features
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
•Integration
•CacheLoader / Writer
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
•Integration
•CacheLoader / Writer
•CacheEntryListener
•Created/Updated
•Removed/Expired
•Get old value
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
•Integration
•CacheLoader / Writer
•CacheEntryListener
•Created/Updated
•Removed/Expired
•Get old value
•Entry processor
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
•Integration
•CacheLoader / Writer
•CacheEntryListener
•Created/Updated
•Removed/Expired
•Get old value
•Entry processor
•Annotations
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
•Integration
•CacheLoader / Writer
•CacheEntryListener
•Created/Updated
•Removed/Expired
•Get old value
•Entry processor
•Annotations
•MBeans, exposing
•Configuration
•Statistics
@ljacomet#ehcachedvx
JSR-107 : Features
•CacheManager / Cache
•Expiration
•Creation/Access/Update
•Integration
•CacheLoader / Writer
•CacheEntryListener
•Created/Updated
•Removed/Expired
•Get old value
•Entry processor
•Annotations
•MBeans, exposing
•Configuration
•Statistics
•No capacity control !
@YourTwitterHandle@YourTwitterHandle@ljacomet#ehcachedvx
Demo
@YourTwitterHandle@YourTwitterHandle@ljacomet#ehcachedvx
And my XML??
@ljacomet#ehcachedvx
JSR-107 configuration
• Programmatic only
• Enter the world of provider extensions
• Ehcache 3 expects CacheManager URI to resolve to a
configuration file
• From there, multiple scenarios are possible
@YourTwitterHandle@YourTwitterHandle@ljacomet#ehcachedvx
Demo
Caching in an application
@ljacomet#ehcachedvx
public BusinessObject computeAndWin(String param1,
String param2) {


String key = createKey(param1, param2);

BusinessObject cachedResult = cache.get(key);

if (cachedResult == null) {

cachedResult = loadAndCompute(param1, param2);

cache.put(key, cachedResult);

}

return cachedResult;

}
Cache Aside
@ljacomet#ehcachedvx
Cache Aside : not so easy
@ljacomet#ehcachedvx
Cache Aside : not so easy
• Requires synchronisation between
• cache
• and system of record
@ljacomet#ehcachedvx
Cache Aside : not so easy
• Requires synchronisation between
• cache
• and system of record
• JSR-107 has no locking option
@ljacomet#ehcachedvx
Cache Aside : not so easy
• Requires synchronisation between
• cache
• and system of record
• JSR-107 has no locking option
• Potential to be hairy code quite fast
@ljacomet#ehcachedvx
Cache Aside: options
@ljacomet#ehcachedvx
Cache Aside: options
• Rely on the abstraction of your framework
• Spring Caching
• Hibernate
• …
@ljacomet#ehcachedvx
Cache Aside: options
• Rely on the abstraction of your framework
• Spring Caching
• Hibernate
• …
• Alternatives ?
@ljacomet#ehcachedvx
public BusinessObject computeAndWin(String param1,
String param2) {


return cache.get(createKey(param1, param2));

}
Cache Through
@ljacomet#ehcachedvx
Cache Through
Cache
Application
code
RDBMS
@ljacomet#ehcachedvx
Cache Through
Cache
Application
code
RDBMS
@ljacomet#ehcachedvx
Cache Through
Cache
Application
code
RDBMS
@ljacomet#ehcachedvx
Cache Through
Cache
Application
code
RDBMS
@ljacomet#ehcachedvx
Cache Through
Cache
Application
code
RDBMS
@ljacomet#ehcachedvx
Cache Through
@ljacomet#ehcachedvx
Cache Through
• get* => CacheLoader
• cache miss indicates no data available
@ljacomet#ehcachedvx
Cache Through
• get* => CacheLoader
• cache miss indicates no data available
• put* => CacheWriter
• Each use means writing to the system of record
@ljacomet#ehcachedvx
Cache Through
• get* => CacheLoader
• cache miss indicates no data available
• put* => CacheWriter
• Each use means writing to the system of record
• Constraints:APIs of CacheLoader / CacheWriter
@ljacomet#ehcachedvx
Cache Through : JSR-107
@ljacomet#ehcachedvx
Cache Through : JSR-107
• Peculiar behaviours
@ljacomet#ehcachedvx
Cache Through : JSR-107
• Peculiar behaviours
• putIfAbsent(K key,V value): boolean
@ljacomet#ehcachedvx
Cache Through : JSR-107
• Peculiar behaviours
• putIfAbsent(K key,V value): boolean
• Ignores CacheLoader but not CacheWriter
@ljacomet#ehcachedvx
Cache Through : JSR-107
• Peculiar behaviours
• putIfAbsent(K key,V value): boolean
• Ignores CacheLoader but not CacheWriter
• Ehcache 3 allows to tweak this behaviour through
configuration
@ljacomet#ehcachedvx
Cache Through : JSR-107
• Peculiar behaviours
• putIfAbsent(K key,V value): boolean
• Ignores CacheLoader but not CacheWriter
• Ehcache 3 allows to tweak this behaviour through
configuration
• Behaviour consistent across atomic operations
@ljacomet#ehcachedvx
Cache Through : Write Behind
@ljacomet#ehcachedvx
Cache Through : Write Behind
• Asynchronous writes to the the system of record
• User thread no longer suffers from the latency of the write
@ljacomet#ehcachedvx
Cache Through : Write Behind
• Asynchronous writes to the the system of record
• User thread no longer suffers from the latency of the write
• Introduces its own complexities
• Write queue: persistent or not?
• Mutation guarantee: once and only once? at least once?
• What about cache eviction?
Resilience strategy
@ljacomet#ehcachedvx
Resilience strategy
@ljacomet#ehcachedvx
Resilience strategy
• Proposition:
“A cache level error
should not be the cause for
a user level error “
@ljacomet#ehcachedvx
Resilience strategy
• Proposition:
“A cache level error
should not be the cause for
a user level error “
P.S.This is ongoing development and subject to change
@ljacomet#ehcachedvx
Ehcache 3
@ljacomet#ehcachedvx
Ehcache 3
• Handle errors internally as much as possible
@ljacomet#ehcachedvx
Ehcache 3
• Handle errors internally as much as possible
• In memory cache => No exceptions in the execution thread
@ljacomet#ehcachedvx
Ehcache 3
• Handle errors internally as much as possible
• In memory cache => No exceptions in the execution thread
• Default is to log errors, will be configurable / replaceable
@ljacomet#ehcachedvx
Ehcache 3
• Handle errors internally as much as possible
• In memory cache => No exceptions in the execution thread
• Default is to log errors, will be configurable / replaceable
• Advanced setups (Distributed + write behind for example)
@ljacomet#ehcachedvx
Ehcache 3
• Handle errors internally as much as possible
• In memory cache => No exceptions in the execution thread
• Default is to log errors, will be configurable / replaceable
• Advanced setups (Distributed + write behind for example)
• Force user to think about the use cases where the cache can
become inconsistent
@ljacomet#ehcachedvx
Ehcache 3
• Handle errors internally as much as possible
• In memory cache => No exceptions in the execution thread
• Default is to log errors, will be configurable / replaceable
• Advanced setups (Distributed + write behind for example)
• Force user to think about the use cases where the cache can
become inconsistent
• Will be required to configure a handler for these cases
Ehcache 3 and Terracotta
@ljacomet#ehcachedvx
Offheap solution
@ljacomet#ehcachedvx
Offheap solution
• Solving Garbage Collector pauses on large heaps
@ljacomet#ehcachedvx
Offheap solution
• Solving Garbage Collector pauses on large heaps
• Enables extreme cache scale up
• Multi TerraBytes … as long as your server allows it
@ljacomet#ehcachedvx
Offheap solution
• Solving Garbage Collector pauses on large heaps
• Enables extreme cache scale up
• Multi TerraBytes … as long as your server allows it
• Production tested implementation
• 2.0.0 available on GitHub
• https://github.com/Terracotta-OSS/offheap-store
@ljacomet#ehcachedvx
Clustering solution
@ljacomet#ehcachedvx
Clustering solution
• Sharing of data across multiple JVMs
@ljacomet#ehcachedvx
Clustering solution
• Sharing of data across multiple JVMs
• Terracotta 4.3.0 again has an OpenSource offering
• Integration with Ehcache 2.10.0
@ljacomet#ehcachedvx
Clustering solution
• Sharing of data across multiple JVMs
• Terracotta 4.3.0 again has an OpenSource offering
• Integration with Ehcache 2.10.0
• Ehcache 3 will have clustering option in OpenSource
• Code starting to appear on GitHub
@YourTwitterHandle@YourTwitterHandle@ljacomet#ehcachedvx
Questions ?

More Related Content

What's hot

Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your CacheAlex Miller
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APCBen Ramsey
 
Use case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in productionUse case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in production知教 本間
 
Elasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveElasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveSematext Group, Inc.
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
Empowering developers to deploy their own data stores
Empowering developers to deploy their own data storesEmpowering developers to deploy their own data stores
Empowering developers to deploy their own data storesTomas Doran
 
DjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling DisqusDjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling Disquszeeg
 
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTroubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTanel Poder
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
 
Practicing Continuous Deployment
Practicing Continuous DeploymentPracticing Continuous Deployment
Practicing Continuous Deploymentzeeg
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningAlbert Chen
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpSander Temme
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleSean Chittenden
 
Memcached Code Camp 2009
Memcached Code Camp 2009Memcached Code Camp 2009
Memcached Code Camp 2009NorthScale
 
HBaseConEast2016: Practical Kerberos with Apache HBase
HBaseConEast2016: Practical Kerberos with Apache HBaseHBaseConEast2016: Practical Kerberos with Apache HBase
HBaseConEast2016: Practical Kerberos with Apache HBaseMichael Stack
 
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Marcus Barczak
 
Kafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced ProducersKafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced ProducersJean-Paul Azar
 
Moxi - Memcached Proxy
Moxi - Memcached ProxyMoxi - Memcached Proxy
Moxi - Memcached ProxyNorthScale
 

What's hot (19)

Scaling Your Cache
Scaling Your CacheScaling Your Cache
Scaling Your Cache
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 
Use case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in productionUse case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in production
 
Elasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep diveElasticsearch for Logs & Metrics - a deep dive
Elasticsearch for Logs & Metrics - a deep dive
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
Empowering developers to deploy their own data stores
Empowering developers to deploy their own data storesEmpowering developers to deploy their own data stores
Empowering developers to deploy their own data stores
 
DjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling DisqusDjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling Disqus
 
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTroubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention Troubleshooting
 
Practicing Continuous Deployment
Practicing Continuous DeploymentPracticing Continuous Deployment
Practicing Continuous Deployment
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling Up
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at Scale
 
Curator intro
Curator introCurator intro
Curator intro
 
Memcached Code Camp 2009
Memcached Code Camp 2009Memcached Code Camp 2009
Memcached Code Camp 2009
 
HBaseConEast2016: Practical Kerberos with Apache HBase
HBaseConEast2016: Practical Kerberos with Apache HBaseHBaseConEast2016: Practical Kerberos with Apache HBase
HBaseConEast2016: Practical Kerberos with Apache HBase
 
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
 
Kafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced ProducersKafka Tutorial: Advanced Producers
Kafka Tutorial: Advanced Producers
 
Moxi - Memcached Proxy
Moxi - Memcached ProxyMoxi - Memcached Proxy
Moxi - Memcached Proxy
 

Similar to Caching reboot: javax.cache & Ehcache 3

Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsAlex Snaps
 
Where Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsWhere Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsConcentric Sky
 
Building low latency java applications with ehcache
Building low latency java applications with ehcacheBuilding low latency java applications with ehcache
Building low latency java applications with ehcacheChris Westin
 
Caching in applications still matters
Caching in applications still mattersCaching in applications still matters
Caching in applications still mattersAnthony Dahanne
 
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...In-Memory Computing Summit
 
In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014Hazelcast
 
Caching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delàCaching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delàLouis Jacomet
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scalethelabdude
 
Caching and JCache with Greg Luck 18.02.16
Caching and JCache with Greg Luck 18.02.16Caching and JCache with Greg Luck 18.02.16
Caching and JCache with Greg Luck 18.02.16Comsysto Reply GmbH
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek PROIDEA
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackJakub Hajek
 
Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"Fwdays
 
Migration strategies 4
Migration strategies 4Migration strategies 4
Migration strategies 4Wenhua Wang
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
06 integrate elasticsearch
06 integrate elasticsearch06 integrate elasticsearch
06 integrate elasticsearchErhwen Kuo
 

Similar to Caching reboot: javax.cache & Ehcache 3 (20)

Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroids
 
Where Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsWhere Django Caching Bust at the Seams
Where Django Caching Bust at the Seams
 
JCache Using JCache
JCache Using JCacheJCache Using JCache
JCache Using JCache
 
HotSpotコトハジメ
HotSpotコトハジメHotSpotコトハジメ
HotSpotコトハジメ
 
Typesafe spark- Zalando meetup
Typesafe spark- Zalando meetupTypesafe spark- Zalando meetup
Typesafe spark- Zalando meetup
 
Building low latency java applications with ehcache
Building low latency java applications with ehcacheBuilding low latency java applications with ehcache
Building low latency java applications with ehcache
 
Caching in applications still matters
Caching in applications still mattersCaching in applications still matters
Caching in applications still matters
 
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
 
In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014
 
Caching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delàCaching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delà
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
 
Caching and JCache with Greg Luck 18.02.16
Caching and JCache with Greg Luck 18.02.16Caching and JCache with Greg Luck 18.02.16
Caching and JCache with Greg Luck 18.02.16
 
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
 
Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"Игорь Фесенко "Direction of C# as a High-Performance Language"
Игорь Фесенко "Direction of C# as a High-Performance Language"
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
 
Migration strategies 4
Migration strategies 4Migration strategies 4
Migration strategies 4
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
06 integrate elasticsearch
06 integrate elasticsearch06 integrate elasticsearch
06 integrate elasticsearch
 

Recently uploaded

Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationShrmpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Caching reboot: javax.cache & Ehcache 3