Elementos de entrada de memoria caché (cache-entry)
El elemento raíz del archivo cachespec.xml, <cache>
, contiene elementos <cache-entry>
. El servicio de memoria caché dinámica de WebSphere analiza el archivo cachespec.xml durante el arranque del sistema y extrae un conjunto de parámetros de configuración para cada elemento cache-entry
.
En las secciones siguientes se explican otros elementos <cache-entry>
, por ejemplo <timeout>
y <priority>
, que configuran información como la política de caducidad de memoria caché y de expulsión de memoria caché.
- Para ver una lista completa de propiedades, consulte el tema cachespec.xml.
- Se puede utilizar la propiedad do-not-cache. Compruebe los detalles de .
Clase
<class>servlet | command</class>
El elemento <class>
es necesario. Controla el modo en que el servidor de aplicaciones interpreta la definición de política de memoria caché restante. El servlet de valor indica que la política de memoria caché define normas de memoria caché para un servlet o una JavaServer Page (JSP) desplegados en el motor de servlet de WebSphere Application Server. El mandato de valor indica que la política de memoria caché define las normas de memoria caché para una clase que implementa la interfaz Java CacheableCommand de WebSphere.
A continuación se muestran ejemplos del elemento <class>
:
<class>command</class>
<class>servlet</class>
<invalidation>
. Consulte el apartado de metodologías de invalidación de memoria caché para obtener detalles.Nombre:
<name>classname</name>
El elemento <name>
es necesario. classname especifica el nombre de clase totalmente calificado del mandato o servlet. Hay dos modos de utilizar el elemento <name>
para especificar un objeto almacenable en memoria caché:
- Para mandatos, el nombre de clase debe especificar el nombre de clase completo, incluido el nombre del paquete, en caso de que exista, y el nombre de clase, así como el calificador .class final, del objeto configurado.
- Para servlets o JSPs , este elemento debe incluir el nombre de clase completo del servlet, o bien el URI completo de la JSP.
Puede especificar varios elementos <name>
en <cache-entry>
si tiene correlaciones diferentes que hagan referencia al mismo servlet. A continuación, se muestran ejemplos del elemento <name>
:
<name>com.ibm.commerce.dynacache.commands.MemberGroupsCacheCmdImpl.class</name>
<name>com.ibm.commerce.struts.ECActionServlet.class</name>
<name>com.ibm.commerce.struts.v2.ECActionServlet.class</name>
<name>/ToolTech/ShoppingArea/CatalogSection/CategorySubsection/StoreCatalogDisplay.jsp</name>
Property
<property name="key">value</property>
donde key es el nombre de la propiedad que se define y value es el valor correspondiente.
La tabla siguiente contiene propiedades utilizadas por HCL Commerce al definir normas de memoria caché para servlets.
Property | Valores válidos | Valor predeterminado | Descripción: |
---|---|---|---|
EdgeCacheable |
true false |
false | Si esta propiedad es verdadera (true), el servlet o el archivo JSP proporcionado está disponible externamente desde un Edge Server. Si el servlet o el archivo JSP es almacenable en memoria caché, depende del resto de la especificación de la memoria caché. |
consume-subfragments |
true false |
false | Cuando se almacena en memoria caché un servlet, sólo se almacena el contenido de dicho servlet, con espacios reservados para cualquier otro fragmento que incluya o al que se reenvíe. CSF (Consume-subfragments) indica a la memoria caché que no pare de guardar el contenido cuando incluye un servlet hijo. La entrada padre (la que está marcada con CSF) incluirá todo el contenido de todos los fragmentos en la entrada de memoria caché, produciendo una gran entrada de memoria caché que no tiene inclusiones (includes) ni reenvíos (forwards), sino en su lugar, el contenido de todo el árbol de entradas. Esto puede ahorrar una cantidad importante de proceso del servidor de aplicaciones, pero normalmente sólo es útil cuando la solicitud HTTP externa contiene toda la información necesaria para determinar el árbol entero de los fragmentos incluidos. |
save-attributes |
true false |
true | Cuando esta propiedad se establece en 'false', los atributos de solicitud no se guardan con la entrada de memoria caché. |
store-cookies |
true false |
true | Cuando esta propiedad se establece en 'false', las cookies de solicitud no se guardan con la entrada de memoria caché. |
alternate_url | Especifica el URL alternativo utilizado para invocar el servlet o archivo JSP. Esta propiedad se ignora a menos que la propiedad EdgeCacheable también se establezca para la entrada de memoria caché. | ||
do-not-consume |
true false |
false | Cuando esta propiedad se establece en 'true', la entrada padre no consumirá el fragmento con la propiedad consume-subfragments. |
persist-to-disk |
true false |
true | Cuando esta propiedad está establecida en false, la entrada de memoria caché no se escribe en el disco cuando se produce un desbordamiento o una detención del servidor. Se recomienda el valor predeterminado true para datos de vida larga que muchos compradores pueden volver a utilizar. Sin embargo, en cuanto a lo que se refiere al rendimiento y a la privacidad, generalmente no se recomienda conservar datos relacionados con el usuario en el disco. |
A continuación se muestran unos ejemplos del elemento <property>
:
<property name="consume-subfragments">true</property>
<property name="save-attributes">false</property>
<property name="store-cookies">false</property>
<property>
para un elemento <cache-entry>
de servlet:<property name="save-attributes">false</property>
<property name="store-cookies">false</property>
<property>
para un elemento de JSP <cache-entry>
:<property name="save-attributes">false</property>