HCL Commerce Version 9.1.9.0 or later

Utilización de las API de DynaCache para operar con la memoria caché

Las extensiones HCL Commerce pueden interferir con la memoria caché utilizando la interfaz DistributedMap. La interfaz proporciona métodos para operaciones tales como put, get, clear y invalidate.

Obtención de una referencia al objeto de memoria caché:
InitialContext ctx = new InitialContext();
DistributedMap myCustomCache = (DistributedMap) 
ctx.lookup(“services/cache/MyCustomCache”);
Una vez que se ha obtenido una referencia al objeto de memoria caché, se pueden utilizar los métodos put() para añadirlos a la memoria caché. En función de la configuración de la memoria caché, el método actualizará las memorias caché locales y remotas.
myCustomCache.put("cacheId", myCacheEntryObject )

final int priority = 1;
// the time in seconds that the cache entry should remain in the cache. The default value is -1 and means the entry does not time out.
final int timeToLive     =  1800;
// the time in seconds that the cache entry should remain in the cache if not accessed.
// Inactivity is supported by the local cache but not by the remote cache
final int inactivityTime = 900
// Not supported
final int sharingPolicy = 0;
final String [] dependencyIds = new String [] {"dependencyId1", "dependencyId2"};

myCustomCache.put("cacheId", myCacheEntryObject, priority, timeToLive, inactivityTime, sharingPolicy, dependencyIds );
Utilice la interfaz de get() para volver a leer un objeto de la memoria caché. Si el almacenamiento en memoria caché local y remota está habilitado, HCL Cache primero intentará cargar el objeto de la memoria caché local y, a continuación, desde la memoria caché remota solo si el ID de memoria caché especificado no se ha encontrado en la memoria caché local.
Object cachedObject = myCustomCache.get(“cacheKey”);
El método clear() vacía la memoria caché. El método invalidate() elimina utilizando un ID de dependencia o un ID de memoria caché.
myCustomCache.clear();
…
myCustomCache.invalidate(“dependencyId1”);

Las entradas se eliminan de la memoria caché local y de la memoria caché remota. Si se utiliza el almacenamiento en memoria caché local, se envían mensajes de invalidación para eliminar entradas de memorias caché locales en otros contenedores.