How To Avoid That CacheStore Triggers Methods store()/storeAll() and remove()/removeAll() While Pre-Loading The Caches
Last updated on FEBRUARY 24, 2017
Applies to:Oracle Coherence - Version 3.6.0 and later
Information in this document applies to any platform.
This document explains two different approaches on how to pre-load caches after reading the data from a persistence store.
The cache put operations would trigger the methods store()/storeAll() if the cache service was configured with a read-write-backing-map and a cache store.
It is reasonable to switch off this persistence operations of the cache store instance while pre-loading the caches.
This document explains how to bulk load the data into the cache while avoiding all persistence operations of the cache store implementation. It does make sense to run the cache pre-loader processes on multiple database cluster members with each pre-loader process responsible for pre-loading data it has most direct access to. This does eliminate the network traffic between this cache pre-loader process and the database server. Also It does make sense to concurrently read data from the database while pre-loading the caches. But all this is out of the scope of this document and the example project attached to it.
Coherence >= 12.1.2 Grid Edition ships with the feature Coherence GoldenGate HotCache which ships with a "cache warmer".
see Oracle Fusion Middleware Integrating Oracle Coherence, 12c (12.1.3), 7 Integrating with Oracle Coherence GoldenGate HotCache
Coherence >= 12.2.1 allows to store snapshots of the caches to disk. The snapshots can be used to warm the caches after the Coherence cluster had been re-started. This does significantly reduce the requirement to read the data from the database.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms