The Near Cache preloader is a functionality to store the keys from a Near Cache to provide a fast re-population of the previous hot data set after a Hazelcast Client has been restarted. It is available on IMap and JCache clients.
The Near Cache preloader stores the keys (not the values) of Near Cache entries in regular intervals. You can define the initial delay via store-initial-delay-seconds
, e.g., if you know that your hot data set will need some time to build up. You can configure the interval via store-interval-seconds
which determines how often the key-set will be stored. The persistence will not run continuously. Whenever the storage is scheduled, it will be performed on the actual keys in the Near Cache.
The Near Cache preloader will be triggered on the first initialization of the data structure on the client, e.g., client.getMap("myNearCacheMap")
. This schedules the preloader, which will work in the background, so your application is not blocked. The storage will be enabled after the loading is completed.
The configuration parameter directory
is optional. If you omit it the base folder will be the user working directory (normally where the JVM was started or configured with the system property user.dir
). The storage filenames will always be created from the Near Cache name. So even if you use a wildcard name in the Near Cache Configuration, the preloader filenames will be unique.
NOTE: If you run multiple Hazelcast clients with enabled Near Cache preloader on the same machine, you have to configure a unique storage filename for each client or run them from different user directories. If two clients would write into the same file, only the first client will succeed. The following clients will throw an exception as soon as the Near Cache preloader is triggered.