Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Caching/Caching Overview"

From Eclipsepedia

Jump to: navigation, search
(Caching Overview)
Line 2: Line 2:
 
|api=y
 
|api=y
 
|apis=
 
|apis=
 +
*[http://www.eclipse.org/eclipselink/api/latest/javax/persistence/Cacheable.html @Cacheable]
 
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/Cache.html @Cache]
 
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/Cache.html @Cache]
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/TimeOfDay.html @TimeOfDay]
 
 
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/ExistenceChecking.html @ExistenceChecking]
 
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/ExistenceChecking.html @ExistenceChecking]
 +
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/config/PersistenceUnitProperties.html @PersistenceUnitProperties]
 
|examples=y
 
|examples=y
 
|example=
 
|example=
Line 27: Line 28:
 
* in-memory querying and conforming
 
* in-memory querying and conforming
 
* time to live, and daily cache invalidation
 
* time to live, and daily cache invalidation
* clustered cache coordination
+
* clustered cache coordination through RMI and JMS
 
* database event driven cache invalidation and Oracle DCN/QCN
 
* database event driven cache invalidation and Oracle DCN/QCN
 
* support for JPA 2.0 @Cachable configuraiton and API
 
* support for JPA 2.0 @Cachable configuraiton and API

Revision as of 10:36, 7 May 2012



Caching Overview

The EclipseLink cache is an in-memory repository that stores recently read or written objects based on class and Id values. EclipseLink uses the cache to do the following:

  • Improve performance by holding recently read or written objects and their relationships and accessing them in-memory to minimize database access.
  • Manage locking and isolation level.
  • Manage object identity.

EclipseLink offers an integrated and functional cache including the following features:

  • isolated persistence context cache (L1), and shared persistence unit cache (L2)
  • caching configurable at the Entity level, entities can be cached, or not, cached entities can reference non-cached entities
  • multiple cache type options (weak, soft, full, weak-cache, soft-cache)
  • configurable size
  • cache indexes
  • in-memory querying and conforming
  • time to live, and daily cache invalidation
  • clustered cache coordination through RMI and JMS
  • database event driven cache invalidation and Oracle DCN/QCN
  • support for JPA 2.0 @Cachable configuraiton and API
  • extended JpaCache API
  • query cache

EclipseLink supports the following caching annotations:

  • @Cachable
  • @Cache
  • @ExistenceChecking


EclipseLink also provides a number of persistence unit properties that you can specify to configure the EclipseLink cache (see How to Use the Persistence Unit Properties for Caching). These properties may compliment or provide an alternative to the usage of annotations.

Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...