SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Overview of the Ehcache

       2011.12.02
        chois79
Contents
•   About Caches
•   Why caching works
•   Will an Application Benefit from Caching?
•   How much will an application speed up?
•   About Ehcache
•   Features of Ehcache
•   Key Concepts of Ehcache
•   Using Ehcache
•   Distributed Ehcache Architecture
•   References
About Caches
• In Wiktionary
   – A store of things that will be required in future and can be
     retrieved rapidly

• In computer science
   – A collection of temporary data which either duplicates data
     located elsewhere of is the result of a computation

   – The data can be repeatedly accessed inexpensively
Why caching works
•   Locality of Reference
     – Data that is near other data or has just been used is more likely to be used
        again

•   The Long Tail


                                          A small number of items may make up the
                                          bulk of sales.          – Chris Anderson



     – One form of a Power Law distribution is the Pareto distribution (80:20 rule)
     – IF 20% of objects are used 80% of the time and a way can be found to
        reduce the cost of obtaining that 20%, then system performance will improve
Will an Application Benefit from Caching?
          CPU bound Application
• The time taken principally depends on the speed of the CPU
  and main memory
• Speeding up
   – Improving algorithm performance
   – Parallelizing the computations across multiple CPUs or multiple
     machines
   – Upgrading the CPU speed

• The role of caching
   – Temporarily store computations that may be reused again
       • Ex) DB Cache, Large web pages that have a high rendering cost.
Will an Application Benefit from Caching?
          I/O bound Application
• The time taken to complete a computation depends principally
  on the rate at which data can be obtained
• Speeding up
   – Hard disks are speeding up by using their own caching of blocks into
     memory
       • There is no Moore’s law for hard disk.

   – Increase the network bandwidth

• The role of cache
   – Web page caching, for pages generated from databases
   – Data Access object caching
Will an Application Benefit from Caching?
      Increased Application Scalability

• Data bases can do 100 expensive queries per second
  – Caching may be able to reduce the workload required
How much will an application speed up?
           (Amdahl’s Law)

• Depend on a multitude of factors
  – How many times a cached piece of data can and is
    reduced by the application

  – The proportion of the response time that is alleviated by
    caching

• Amdahl’s Law
                 P: Proportion speed up
                 S: Speed up
Amdahl’s Law Example
(Speed up from a Database Level Cache)
Un-cached page time: 2 seconds
Database time: 1.5 seconds
Cache retrieval time: 2ms
Proportion: 75% (2/1.5)
The expected system speedup is thus:
     1 / (( 1 – 0.75) + 0.75 / (1500/2))
    = 1 / (0.25 + 0.75/750)
    = 3.98 times system speedup
About Ehcache
•   Open source, standards-based cache used to boost performance

•   Basically, based on in-process
•   Scale from in-process with one more nodes through to a mixed in-
    process/out-of-process configuration with terabyte-sized caches
•   For applications needing a coherent distributed cache, Ehcache uses
    the open source Terracotta Server Array

•   Java-based Cache, Available under an Apache 2 license

•   The Wikimedia Foundation use Ehcache to improve the performance
    of its wiki projects
Features of Ehcache(1/2)
•   Fast and Light Weight
     – Fast, Simple API
     – Small foot print: Ehcache 2.2.3 is 668 kb making it convenient to package
     – Minimal dependencies: only dependency on SLF4J

•   Scalable
     – Provides Memory and Disk store for scalability into gigabytes
     – Scalable to hundreds of nodes with the Terracotta Server Array

•   Flexible
     – Supports Object or Serializable caching
     – Provides LRU, LFU and FIFO cache eviction policies
     – Provides Memory and Disk stores
Features of Ehcache(2/2)
•   Standards Based
     –   Full implementation of JSR107 JCACHE API

•   Application Persistence
     –   Persistent disk store which stores data between VM restarts

•   JMX Enable
•   Distributed Caching
     –   Clustered caching via Terracotta
     –   Replicated caching via RMI, JGroups, or JMS

•   Cache Server
     –   RESTful, SOAP cache Server

•   Search
     –   Standalone and distributed search using a fluent query language
Key Concepts of Ehcache
                     Key Classes
•   CacheManager
    – Manages caches

•   Ehcache
    – All caches implement the Ehcache interface
    – A cache has a name and attributes
    – Cache elements are stored in the memory store, optionally the also overflow
       to a disk store

•   Element
    – An atomic entry in a cache
    – Has key and value
    – Put into and removed from caches
Key Concepts of Ehcache
            Usage patterns: Cache-aside
•   Application code use the cache directly
•   Order
     – Application code consult the cache first
     – If cache contains the data, then return the data directly
     – Otherwise, the application cod must fetch the data from the system-of-record,
        store the data in the cache, then return.




     – 0
Key Concepts of Ehcache
           Usage patterns: Read-through
•   Mimics the structure of the cache-aside patterns when reading data
•   The difference
     – Must implement the CacheEntryFactory interface to instruct the cache how to
       read objects on a cache miss
     – Must wrap the Ehcache instance with an instance of SelfPopulationCache




     – 4
Key Concepts of Ehcache
    Usage patterns: Write-through and behind
•   Mimics the structure of the cache-aside pattern when data write
•   The difference
     –   Must implement the CacheWriter interface and configure the cache for write-through or write
         behind
     –   A write-through cache writes data to the system-of-record in the same thread of execution
     –   A write-behind queues the data for write at a later time




     –   d
Key Concepts of Ehcache
         Usage patterns: Cache-as-sor
• Delegate SOR reading and writing actives to the cache
• To implement, use a combination of the following patterns
   – Read-through
   – Write-through or write-behind

• Advantages
   – Less cluttered application code
   – Easily choose between write-through or write-behind strategies
   – Allow the cache to solve the “thundering-herd” problem

• Disadvantages
   – Less directly visible code-path
Key Concepts of Ehcache
         Storage Options: Memory Store
•   Suitable Element Types
     – All Elements are suitable for placement in the Memory Store

•   Characteristics
     – Thread safe for use by multiple concurrent threads
     – Backed By LinkedHashMap (Jdk 1.4 later)
          •   LinkedHashMap: Hash table and linked list implementation of the Map interface

     – Fast

•   Memory Use, Spooling and Expiry Strategy
     – Least Recently Used (LRU): default
     – Least frequently Used (LFU)
     – First In First Out (FIFO)
Key Concepts of Ehcache
    Storage Options: Big-Memory Store
•   Pure java product from Terracotta that permits caches to use an additional type of
    memory store outside the object heap. (Packaged for use in Enterprise Ehcache)
     –   Not subject to Java GC
     –   100 times faster than Disk-Store
     –   Allows very large caches to be created(tested up to 350GB)

•   Two implementations
     –   Only Serializable cache keys and values can be placed similar to Disk Store
     –   Serializaion and deserialization take place putting and getting from the store
           •   Around 10 times slower than Memory Store
           •   The memory store holds the hottest subset of data from the off-heap store, already in deserialized form

•   Suitable Element Types
     –   Only Elements which are serializable can be placed in the off-heap
     –   Any non serializable Elements will be removed and WARNING level log message emitted
Key Concepts of Ehcache
               Storage Options: Disk Store
• Disk Store are optional
• Suitable Element Type
     – Only Elements which are serializable can be placed in the off-heap
     – Any non serializable Elements will be removed and WARNING level
         log message emitted

• Eviction
     –   The LFU algorithm is used and it is not configurable or changeable

•   Persistence
     –   Controlled by the disk persistent configuration
     –   If false or onmitted, disk store will not presit between CacheManager restarts
Key Concepts of Ehcache
                      Replicated Caching
•   Ehcache has a pluggable cache replication scheme
     –   RMI, JGroups, JMS

•   Using a Cache Server
     –   To achieve shared data, all JVMs read to and write from a Cache Server

•   Notification Strategies
     –   If the Element is not available anywhere else then the element it self shoud from the pay load
         of the notification




     –   D
Key Concepts of Ehcache
                       Search APIs
•   Allows you to execute arbitrarily complex queries either a standalone
    cache or a Terracotta clustered cache with pre-built indexes
•   Searchable attributes may be extracted from both key and vales
•   Attribute Extractors
     – Attributes are extracted from keys or values
     – This is done during search or, if using Distributed Ehcache on put() into the
        cache using AttributeExtractors
     – Supported types
         •   Boolean, Byte, Character, Double, Float, Integer, Long, Short, String, Enum, java.util.Date,
             Java.sql.Date
Using Ehcache
           General-Purpose Caching
• Local Cache
• Configuration
   – Place the Ehcache jar into your class-path
   – Configure ehcache.xml and place it in your class-path
   – Optionally, configure an appropriate logging level

                                                  DB

                        Local
         Application                           Web
                       Ehcache
                                              Server

   – d                                         Web
                                              Server
Using Ehcache
                     Cache Server
• Support for RESTful and SOAP APIs
• Redundant, Scalable with client hash-based routing
   – The client can be implemented in any language
   – The client must work out a partitioning scheme




   – s
Using Ehcache
    Integrate with other solutions
• Hivernate

• Java EE Servlet Caching

• JCache style caching

• Spring, cocoon, Acegi and other frameworks
Distributed Ehcache Architecture
                   (Logical View)
•   Distributed Ehcache combines an in-process Ehcache with the Terracotta Server Array




•   The data is split between an Ehcache node(L1) and the Terracotta Server Array(L2)
     –   The L1 can hold as much data as is comfortable

     –   The L2 always a complete copy of all cache data

     –   The L1 acts as a hot-set of recently used data
Distributed Ehcache Architecture
             (Ehcache topologies)
•   Standalone
     – The cache data set is held in the application node
     – Any other application nodes are independent with no communication
        between them

•   Distributed Ehcache
     – The data is held in a Terracotta server Array with a subset of recently used
        data held in each application cache node

•   Replicated
     – The cached data set is held in each application node and data is copied or
        invalidated across the cluster without locking
     – Replication can be either asynchronous or synchronous
     – The only consistency mode available is weak consistency
Distributed Ehcache Architecture
                (Network View)
•   From a network topology point of view Distributed Ehcache consist of
     – Ehcache node(L1)
          •   The Ehcache library is present in each app
          •   An Ehcache instance, running in-process sits in each JVM

     – Terracotta Server Array(L2)
          •   Each Ehcache instance maintains a connection with one or more Terracotta Servers
          •   Consistent hashing is used by the Ehcache nodes to store and retrieve cache data




          •   4
Distributed Ehcache Architecture
          (Memory Hierarchy View)
•   Each in-process Ehcache instance
     – Heap memory
     – Off-heap memory(Big Memory)

•   The Terracotta Server Arrays
     – Heap memory
     – Off-heap memory
     – Disk storage.
           •   This is optional.(Persistence)




     – 1
Ehcache in-process compared with
           Memcached
Reference
• Ehcache User Guide
   – http://ehcache.org/documentation

• Ehcache Architecture, Features And Usage patterns
   – Greg Luck, 2009 JavaOne Session 2007

Mais conteúdo relacionado

Mais procurados

Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020VMware Tanzu
 
초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기OnGameServer
 
HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7
HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7
HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7Hackito Ergo Sum
 
ORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate OverviewORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate OverviewBrett Meyer
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlLeon Chen
 
Fight with Metaspace OOM
Fight with Metaspace OOMFight with Metaspace OOM
Fight with Metaspace OOMLeon Chen
 
CNIT 127 Ch 6: The Wild World of Windows
CNIT 127 Ch 6: The Wild World of WindowsCNIT 127 Ch 6: The Wild World of Windows
CNIT 127 Ch 6: The Wild World of WindowsSam Bowne
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...idsecconf
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf toolsBrendan Gregg
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesHibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesBrett Meyer
 
Polyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraPolyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraMathias Karlsson
 
Java Deserialization Vulnerabilities - The Forgotten Bug Class
Java Deserialization Vulnerabilities - The Forgotten Bug ClassJava Deserialization Vulnerabilities - The Forgotten Bug Class
Java Deserialization Vulnerabilities - The Forgotten Bug ClassCODE WHITE GmbH
 
Performance Analysis: The USE Method
Performance Analysis: The USE MethodPerformance Analysis: The USE Method
Performance Analysis: The USE MethodBrendan Gregg
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안Jeongsang Baek
 
Sigreturn Oriented Programming
Sigreturn Oriented ProgrammingSigreturn Oriented Programming
Sigreturn Oriented ProgrammingAngel Boy
 
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkKnow your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkRed Hat Developers
 
Burp plugin development for java n00bs (44 con)
Burp plugin development for java n00bs (44 con)Burp plugin development for java n00bs (44 con)
Burp plugin development for java n00bs (44 con)Marc Wickenden
 
Hunting for Privilege Escalation in Windows Environment
Hunting for Privilege Escalation in Windows EnvironmentHunting for Privilege Escalation in Windows Environment
Hunting for Privilege Escalation in Windows EnvironmentTeymur Kheirkhabarov
 

Mais procurados (20)

Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020Azure Spring Cloud Workshop - June 17, 2020
Azure Spring Cloud Workshop - June 17, 2020
 
초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기
 
HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7
HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7
HES2011 - Tarjei Mandt – Kernel Pool Exploitation on Windows 7
 
ORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate OverviewORM, JPA, & Hibernate Overview
ORM, JPA, & Hibernate Overview
 
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
 
High Performance Solr
High Performance SolrHigh Performance Solr
High Performance Solr
 
Fight with Metaspace OOM
Fight with Metaspace OOMFight with Metaspace OOM
Fight with Metaspace OOM
 
CNIT 127 Ch 6: The Wild World of Windows
CNIT 127 Ch 6: The Wild World of WindowsCNIT 127 Ch 6: The Wild World of Windows
CNIT 127 Ch 6: The Wild World of Windows
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesHibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance Techniques
 
Polyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraPolyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPra
 
Java Deserialization Vulnerabilities - The Forgotten Bug Class
Java Deserialization Vulnerabilities - The Forgotten Bug ClassJava Deserialization Vulnerabilities - The Forgotten Bug Class
Java Deserialization Vulnerabilities - The Forgotten Bug Class
 
Performance Analysis: The USE Method
Performance Analysis: The USE MethodPerformance Analysis: The USE Method
Performance Analysis: The USE Method
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
 
Sigreturn Oriented Programming
Sigreturn Oriented ProgrammingSigreturn Oriented Programming
Sigreturn Oriented Programming
 
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkKnow your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
 
美团技术团队 - KVM性能优化
美团技术团队 - KVM性能优化美团技术团队 - KVM性能优化
美团技术团队 - KVM性能优化
 
Burp plugin development for java n00bs (44 con)
Burp plugin development for java n00bs (44 con)Burp plugin development for java n00bs (44 con)
Burp plugin development for java n00bs (44 con)
 
Hunting for Privilege Escalation in Windows Environment
Hunting for Privilege Escalation in Windows EnvironmentHunting for Privilege Escalation in Windows Environment
Hunting for Privilege Escalation in Windows Environment
 

Destaque

Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEduardo Pelegri-Llopart
 
The new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiThe new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiCyril Lakech
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheCris Holdorph
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
Predicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience ReportPredicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience Reporttilman.holschuh
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...elliando dias
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologieshwilming
 
Intro To Sap Netweaver Java
Intro To Sap Netweaver JavaIntro To Sap Netweaver Java
Intro To Sap Netweaver JavaLeland Bartlett
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)ERPScan
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java appsSimon Ritter
 
MiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatMiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatHyeonSeok Choi
 
Domain driven design ch1
Domain driven design ch1Domain driven design ch1
Domain driven design ch1HyeonSeok Choi
 
자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9HyeonSeok Choi
 
Mining the social web 6
Mining the social web 6Mining the social web 6
Mining the social web 6HyeonSeok Choi
 
Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화HyeonSeok Choi
 

Destaque (20)

Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage Patterns
 
The new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiThe new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spi
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
 
SAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner WebinarSAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner Webinar
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Predicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience ReportPredicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience Report
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
 
Sap java
Sap javaSap java
Sap java
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
 
Intro To Sap Netweaver Java
Intro To Sap Netweaver JavaIntro To Sap Netweaver Java
Intro To Sap Netweaver Java
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java apps
 
MiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatMiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.Microformat
 
Domain driven design ch1
Domain driven design ch1Domain driven design ch1
Domain driven design ch1
 
C++ api design 품질
C++ api design 품질C++ api design 품질
C++ api design 품질
 
자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9
 
Mining the social web 6
Mining the social web 6Mining the social web 6
Mining the social web 6
 
Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화
 

Semelhante a Overview of the ehcache

Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache frameworkMohammed Fazuluddin
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.Taras Matyashovsky
 
[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching Solutions[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching SolutionsITviec
 
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...anynines GmbH
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxAmanuelmergia
 
Caching for J2ee Enterprise Applications
Caching for J2ee Enterprise ApplicationsCaching for J2ee Enterprise Applications
Caching for J2ee Enterprise ApplicationsDebajani Mohanty
 
OSOM - Open source catching solutions
OSOM - Open source catching solutionsOSOM - Open source catching solutions
OSOM - Open source catching solutionsMarcela Oniga
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache KuduAndriy Zabavskyy
 
Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsAlex Snaps
 
Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchJoe Alex
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for allVSKAMCSPSGCT
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparisonRohit Kelapure
 
Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?DoiT International
 
Criteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech TalkCriteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech TalkPierre Mavro
 

Semelhante a Overview of the ehcache (20)

Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache framework
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching Solutions[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching Solutions
 
Cache simulator
Cache simulatorCache simulator
Cache simulator
 
JCache Using JCache
JCache Using JCacheJCache Using JCache
JCache Using JCache
 
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
 
Caching for J2ee Enterprise Applications
Caching for J2ee Enterprise ApplicationsCaching for J2ee Enterprise Applications
Caching for J2ee Enterprise Applications
 
OSOM - Open source catching solutions
OSOM - Open source catching solutionsOSOM - Open source catching solutions
OSOM - Open source catching solutions
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache Kudu
 
Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroids
 
Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using Elasticsearch
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for all
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
 
Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?
 
Ehcache 3 @ BruJUG
Ehcache 3 @ BruJUGEhcache 3 @ BruJUG
Ehcache 3 @ BruJUG
 
Criteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech TalkCriteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech Talk
 
Memory Management.pdf
Memory Management.pdfMemory Management.pdf
Memory Management.pdf
 

Mais de HyeonSeok Choi

밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2HyeonSeok Choi
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2HyeonSeok Choi
 
알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04HyeonSeok Choi
 
딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04HyeonSeok Choi
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성HyeonSeok Choi
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6HyeonSeok Choi
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaHyeonSeok Choi
 
실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1HyeonSeok Choi
 
HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HyeonSeok Choi
 
HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HyeonSeok Choi
 

Mais de HyeonSeok Choi (20)

밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2
 
알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04
 
딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
함수적 사고 2장
함수적 사고 2장함수적 사고 2장
함수적 사고 2장
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장
 
Bounded Context
Bounded ContextBounded Context
Bounded Context
 
DDD Repository
DDD RepositoryDDD Repository
DDD Repository
 
DDD Start Ch#3
DDD Start Ch#3DDD Start Ch#3
DDD Start Ch#3
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8
 
실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7
 
실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, Kibana
 
실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1
 
HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장
 
HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HTTP 완벽가이드 16장
HTTP 완벽가이드 16장
 
HTTPS
HTTPSHTTPS
HTTPS
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Overview of the ehcache

  • 1. Overview of the Ehcache 2011.12.02 chois79
  • 2. Contents • About Caches • Why caching works • Will an Application Benefit from Caching? • How much will an application speed up? • About Ehcache • Features of Ehcache • Key Concepts of Ehcache • Using Ehcache • Distributed Ehcache Architecture • References
  • 3. About Caches • In Wiktionary – A store of things that will be required in future and can be retrieved rapidly • In computer science – A collection of temporary data which either duplicates data located elsewhere of is the result of a computation – The data can be repeatedly accessed inexpensively
  • 4. Why caching works • Locality of Reference – Data that is near other data or has just been used is more likely to be used again • The Long Tail A small number of items may make up the bulk of sales. – Chris Anderson – One form of a Power Law distribution is the Pareto distribution (80:20 rule) – IF 20% of objects are used 80% of the time and a way can be found to reduce the cost of obtaining that 20%, then system performance will improve
  • 5. Will an Application Benefit from Caching? CPU bound Application • The time taken principally depends on the speed of the CPU and main memory • Speeding up – Improving algorithm performance – Parallelizing the computations across multiple CPUs or multiple machines – Upgrading the CPU speed • The role of caching – Temporarily store computations that may be reused again • Ex) DB Cache, Large web pages that have a high rendering cost.
  • 6. Will an Application Benefit from Caching? I/O bound Application • The time taken to complete a computation depends principally on the rate at which data can be obtained • Speeding up – Hard disks are speeding up by using their own caching of blocks into memory • There is no Moore’s law for hard disk. – Increase the network bandwidth • The role of cache – Web page caching, for pages generated from databases – Data Access object caching
  • 7. Will an Application Benefit from Caching? Increased Application Scalability • Data bases can do 100 expensive queries per second – Caching may be able to reduce the workload required
  • 8. How much will an application speed up? (Amdahl’s Law) • Depend on a multitude of factors – How many times a cached piece of data can and is reduced by the application – The proportion of the response time that is alleviated by caching • Amdahl’s Law P: Proportion speed up S: Speed up
  • 9. Amdahl’s Law Example (Speed up from a Database Level Cache) Un-cached page time: 2 seconds Database time: 1.5 seconds Cache retrieval time: 2ms Proportion: 75% (2/1.5) The expected system speedup is thus: 1 / (( 1 – 0.75) + 0.75 / (1500/2)) = 1 / (0.25 + 0.75/750) = 3.98 times system speedup
  • 10. About Ehcache • Open source, standards-based cache used to boost performance • Basically, based on in-process • Scale from in-process with one more nodes through to a mixed in- process/out-of-process configuration with terabyte-sized caches • For applications needing a coherent distributed cache, Ehcache uses the open source Terracotta Server Array • Java-based Cache, Available under an Apache 2 license • The Wikimedia Foundation use Ehcache to improve the performance of its wiki projects
  • 11. Features of Ehcache(1/2) • Fast and Light Weight – Fast, Simple API – Small foot print: Ehcache 2.2.3 is 668 kb making it convenient to package – Minimal dependencies: only dependency on SLF4J • Scalable – Provides Memory and Disk store for scalability into gigabytes – Scalable to hundreds of nodes with the Terracotta Server Array • Flexible – Supports Object or Serializable caching – Provides LRU, LFU and FIFO cache eviction policies – Provides Memory and Disk stores
  • 12. Features of Ehcache(2/2) • Standards Based – Full implementation of JSR107 JCACHE API • Application Persistence – Persistent disk store which stores data between VM restarts • JMX Enable • Distributed Caching – Clustered caching via Terracotta – Replicated caching via RMI, JGroups, or JMS • Cache Server – RESTful, SOAP cache Server • Search – Standalone and distributed search using a fluent query language
  • 13. Key Concepts of Ehcache Key Classes • CacheManager – Manages caches • Ehcache – All caches implement the Ehcache interface – A cache has a name and attributes – Cache elements are stored in the memory store, optionally the also overflow to a disk store • Element – An atomic entry in a cache – Has key and value – Put into and removed from caches
  • 14. Key Concepts of Ehcache Usage patterns: Cache-aside • Application code use the cache directly • Order – Application code consult the cache first – If cache contains the data, then return the data directly – Otherwise, the application cod must fetch the data from the system-of-record, store the data in the cache, then return. – 0
  • 15. Key Concepts of Ehcache Usage patterns: Read-through • Mimics the structure of the cache-aside patterns when reading data • The difference – Must implement the CacheEntryFactory interface to instruct the cache how to read objects on a cache miss – Must wrap the Ehcache instance with an instance of SelfPopulationCache – 4
  • 16. Key Concepts of Ehcache Usage patterns: Write-through and behind • Mimics the structure of the cache-aside pattern when data write • The difference – Must implement the CacheWriter interface and configure the cache for write-through or write behind – A write-through cache writes data to the system-of-record in the same thread of execution – A write-behind queues the data for write at a later time – d
  • 17. Key Concepts of Ehcache Usage patterns: Cache-as-sor • Delegate SOR reading and writing actives to the cache • To implement, use a combination of the following patterns – Read-through – Write-through or write-behind • Advantages – Less cluttered application code – Easily choose between write-through or write-behind strategies – Allow the cache to solve the “thundering-herd” problem • Disadvantages – Less directly visible code-path
  • 18. Key Concepts of Ehcache Storage Options: Memory Store • Suitable Element Types – All Elements are suitable for placement in the Memory Store • Characteristics – Thread safe for use by multiple concurrent threads – Backed By LinkedHashMap (Jdk 1.4 later) • LinkedHashMap: Hash table and linked list implementation of the Map interface – Fast • Memory Use, Spooling and Expiry Strategy – Least Recently Used (LRU): default – Least frequently Used (LFU) – First In First Out (FIFO)
  • 19. Key Concepts of Ehcache Storage Options: Big-Memory Store • Pure java product from Terracotta that permits caches to use an additional type of memory store outside the object heap. (Packaged for use in Enterprise Ehcache) – Not subject to Java GC – 100 times faster than Disk-Store – Allows very large caches to be created(tested up to 350GB) • Two implementations – Only Serializable cache keys and values can be placed similar to Disk Store – Serializaion and deserialization take place putting and getting from the store • Around 10 times slower than Memory Store • The memory store holds the hottest subset of data from the off-heap store, already in deserialized form • Suitable Element Types – Only Elements which are serializable can be placed in the off-heap – Any non serializable Elements will be removed and WARNING level log message emitted
  • 20. Key Concepts of Ehcache Storage Options: Disk Store • Disk Store are optional • Suitable Element Type – Only Elements which are serializable can be placed in the off-heap – Any non serializable Elements will be removed and WARNING level log message emitted • Eviction – The LFU algorithm is used and it is not configurable or changeable • Persistence – Controlled by the disk persistent configuration – If false or onmitted, disk store will not presit between CacheManager restarts
  • 21. Key Concepts of Ehcache Replicated Caching • Ehcache has a pluggable cache replication scheme – RMI, JGroups, JMS • Using a Cache Server – To achieve shared data, all JVMs read to and write from a Cache Server • Notification Strategies – If the Element is not available anywhere else then the element it self shoud from the pay load of the notification – D
  • 22. Key Concepts of Ehcache Search APIs • Allows you to execute arbitrarily complex queries either a standalone cache or a Terracotta clustered cache with pre-built indexes • Searchable attributes may be extracted from both key and vales • Attribute Extractors – Attributes are extracted from keys or values – This is done during search or, if using Distributed Ehcache on put() into the cache using AttributeExtractors – Supported types • Boolean, Byte, Character, Double, Float, Integer, Long, Short, String, Enum, java.util.Date, Java.sql.Date
  • 23. Using Ehcache General-Purpose Caching • Local Cache • Configuration – Place the Ehcache jar into your class-path – Configure ehcache.xml and place it in your class-path – Optionally, configure an appropriate logging level DB Local Application Web Ehcache Server – d Web Server
  • 24. Using Ehcache Cache Server • Support for RESTful and SOAP APIs • Redundant, Scalable with client hash-based routing – The client can be implemented in any language – The client must work out a partitioning scheme – s
  • 25. Using Ehcache Integrate with other solutions • Hivernate • Java EE Servlet Caching • JCache style caching • Spring, cocoon, Acegi and other frameworks
  • 26. Distributed Ehcache Architecture (Logical View) • Distributed Ehcache combines an in-process Ehcache with the Terracotta Server Array • The data is split between an Ehcache node(L1) and the Terracotta Server Array(L2) – The L1 can hold as much data as is comfortable – The L2 always a complete copy of all cache data – The L1 acts as a hot-set of recently used data
  • 27. Distributed Ehcache Architecture (Ehcache topologies) • Standalone – The cache data set is held in the application node – Any other application nodes are independent with no communication between them • Distributed Ehcache – The data is held in a Terracotta server Array with a subset of recently used data held in each application cache node • Replicated – The cached data set is held in each application node and data is copied or invalidated across the cluster without locking – Replication can be either asynchronous or synchronous – The only consistency mode available is weak consistency
  • 28. Distributed Ehcache Architecture (Network View) • From a network topology point of view Distributed Ehcache consist of – Ehcache node(L1) • The Ehcache library is present in each app • An Ehcache instance, running in-process sits in each JVM – Terracotta Server Array(L2) • Each Ehcache instance maintains a connection with one or more Terracotta Servers • Consistent hashing is used by the Ehcache nodes to store and retrieve cache data • 4
  • 29. Distributed Ehcache Architecture (Memory Hierarchy View) • Each in-process Ehcache instance – Heap memory – Off-heap memory(Big Memory) • The Terracotta Server Arrays – Heap memory – Off-heap memory – Disk storage. • This is optional.(Persistence) – 1
  • 30. Ehcache in-process compared with Memcached
  • 31. Reference • Ehcache User Guide – http://ehcache.org/documentation • Ehcache Architecture, Features And Usage patterns – Greg Luck, 2009 JavaOne Session 2007