Configuración de caché
El archivo de configuración de caché contiene información sobre todos los cachés/clústeres registrados. Los módulos que necesitan leer las configuraciones primero intentan encontrar config.ncconf en la carpeta de la aplicación, es decir, junto al web.config. Si config.ncconf no se encuentra en la carpeta de la aplicación, luego lee la configuración de la carpeta de instalación.
Note
Este archivo se instala con NCache y se encuentra en %NCHOME%\config en Windows y NCache Instalar directorio/config en Linux.
Sintaxis y etiquetas de configuración de caché
El proyecto config.ncconf archivo se explica a continuación:
<!--
The configuration file (config.ncconf) contains the details of all the registered caches. All cache configurations are enclosed in the <configuration></configuration> tag. Whereas each cache detail is enclosed in <cache-config></cache-config>.
-->
<cache-config cache-name="demoCache" alias="" store-type="Distributed-Cache" config-id="6a49d9ce-9aa7-4312-ada6-4fec37a6e729" config-version="1">
<cache-settings inproc="False" last-modified="" auto-start="False" data-format="Serialized" serialization="Binary">
...
</cache-settings>
</cache-config>
cache-name
: El identificador de caché. La caché se conocerá con el nombre que especifique aquí. Este es el mismo nombre que especifica al inicializar el caché.
store-type
: especifica el propósito para el que se utilizará esta memoria caché. Puede tener uno de los siguientes valores posibles:
Distributed-Cache
Distributed-Cache-Persistence
Pub/Sub-Messaging
Distributed-Lucene
inproc
: Determina si el caché se ejecutará como InProc (en el proceso de su aplicación) o OutProc (en el NCache Proceso de servicio). Si se establece en "False", el caché se ejecutará como OutProc y si se establece en "True", el caché se ejecutará como InProc.
config-version
: Se utiliza para determinar si la configuración se modifica o no.
config-id
: Genera automáticamente una identificación única para la configuración modificada.
last-modified
: Contiene información relacionada con la última modificación en la configuración de la caché.
auto-start
: Habilita el inicio automático de la caché al iniciarla. (NCache Enterprise , solamente)
data-format
: El formato con el que se almacenan los datos en caché, puede ser Serializado u Objeto.
serialization
: el formato de serialización del caché. Puede ser JSON o Binario.
<logging enable-logs="True" trace-errors="True" trace-notices="False" trace-warnings="False" trace-debug="False" log-path=""/>
NCache mantiene un archivo de registro para escribir seguimientos con fines informativos y de depuración. Al utilizar estas etiquetas, el usuario puede habilitar o deshabilitar los distintos seguimientos. De forma predeterminada, solo el seguimiento de "Error" está habilitado, el resto de los seguimientos están deshabilitados. El seguimiento de errores no afecta al rendimiento de la caché, pero sí a otros seguimientos. Recomendamos no habilitarlos en un entorno de producción ya que afectan el rendimiento de NCache.
log-path
: De forma predeterminada, los archivos de registro para cada caché se crean en %NCHOME%\archivos de registro en Windows y NCache Instalar directorio/archivos de registro en linux Sin embargo, puede especificar una ruta personalizada si desea guardar los registros en otro lugar.
<performance-counters enable-counters="True" snmp-port="0"/>
Si este atributo se establece en Verdadero, NCache actualizará los contadores de PerfMon publicados. Si se establece en Falso, NCache no actualizará ninguno de los contadores de PerfMon publicados.
<replication-strategy synchronous="False"/>
En el caso de Partition-Replica, encontrará esta etiqueta en la configuración de caché. La estrategia de replicación define cómo se replican los datos en el nodo de respaldo.
synchronous
: Este atributo se puede establecer en Verdadero/Falso. Si se establece en False, la operación de datos se replicará de forma asincrónica en el nodo de respaldo. Si se establece en Verdadero, la operación de datos se replicará sincrónicamente en el nodo de respaldo.
<pipelining enabled="False" batch-interval="250usec"/>
Para habilitar la canalización, establezca la etiqueta de canalización habilitada como Verdadero e ingrese el tiempo en microsegundos (μs) para el intervalo del lote. El valor predeterminado es 250 µs y los valores mínimo y máximo son 50 µs y 5000 µs respectivamente.
<compression enable-compression="False" threshold="100kb"/>
Esta etiqueta XML especifica si los elementos superiores al umbral especificado deben comprimirse/descomprimirse en el lado del cliente.
enable-compression
: Para habilitar la compresión, establezca este atributo en Verdadero; de lo contrario, configúrelo en Falso.
threshold
: Los elementos mayores que el valor especificado en el atributo de umbral solo se comprimirán/descomprimirán en el lado del cliente si la compresión está habilitada.
Según el ejemplo de etiqueta de compresión mencionado anteriormente, solo se comprimirán/descomprimirán en el lado del cliente los elementos de tamaño superior a 100 kb.
<client-activity-notification enabled="False" retention-period="5sec"/>
Enabled
: habilite esta opción para permitir que los clientes reciban notificaciones si otro cliente se conecta o desconecta.
retention-period
: El período de retención es el intervalo de tiempo después del cual un cliente desconectado se considera desconectado.
<cache-notifications item-remove="False" item-add="False" item-update="False"/>
notifications
: La etiqueta XML especifica el evento registrado con el caché.
Item-add
: Este atributo se puede establecer en Verdadero o Falso. Si se establece en Verdadero, notificará cuando se agregue un elemento al caché. De manera similar, si se establece en False, no se activará ninguna notificación si el elemento se agrega al caché.
Item-remove
: Este atributo se puede establecer en Verdadero o Falso. Si se establece en Verdadero, notificará cuando se elimine un elemento del caché. De manera similar, si se establece en Falso, no se activará ninguna notificación si el elemento se elimina de la caché.
Item-update
: Este atributo se puede establecer en Verdadero o Falso. Si se establece en Verdadero, notificará cuando se actualice un elemento en la caché. De manera similar, si se establece en False, no se activará ninguna notificación si el elemento se actualiza en la caché.
<cleanup interval="15sec"/>
cleanup
: La etiqueta XML especifica el intervalo periódico después del cual se comprobará la caducidad del artículo:
Interval:
Si se establece en "15 segundos", esto significa que la verificación de vencimiento se realizará cada 15 segundos.
<storage type="heap" cache-size="1024mb"/>
storage
: La etiqueta XML especifica los detalles relacionados con el almacenamiento de la caché:
Type
: Este atributo sólo se puede configurar en "montón" como actualmente NCache solo admite almacenamiento basado en montón.
Cache-size
: este atributo especifica el límite superior del tamaño de la caché en MB.
<eviction-policy enabled-eviction="True" default-priority="normal" policy="lru" eviction-ratio="5%"/>
Esta etiqueta XML especifica si se realiza el desalojo o no. Si el desalojo está habilitado, el caché eliminará el elemento existente para dar cabida a los nuevos. Los artículos que salgan se eliminarán según la estrategia de desalojo.
Enabled-eviction
: Para habilitar el desalojo, establezca este atributo en Verdadero; de lo contrario, configúrelo en Falso.
Policy
: Este atributo especifica la política de desalojo que se utilizará. La política de desalojo puede ser una de las siguientes:
- LRU (menos utilizado recientemente) (NCache Enterprise , solamente)
- LFU (Uso menos frecuente) (NCache Enterprise , solamente)
- basado en prioridades
Default-priority
: Especifica la prioridad predeterminada asociada con un elemento si no se especifica ninguna prioridad para ese elemento. Este atributo se puede establecer en lo siguiente:
- Alta
- Por encima de lo normal
- NORMAL
- Debajo de lo normal
- Baja
Esto solo es aplicable en caso de desalojo basado en prioridad.
Eviction-ratio
: Especifica qué porcentaje de datos se deben desalojar cuando se realiza el desalojo.
<expiration-policy enabled="True">
<absolute-expiration longer-enabled="False" longer-value="0" default-enabled="False" default-value="0"/>
<sliding-expiration longer-enabled="False" longer-value="0" default-enabled="False" default-value="0"/>
</expiration-policy>
enabled
: Habilita la política de caducidad.
longer-enabled
: Especifica si está habilitada la caducidad más larga. Si es Verdadero, se debe proporcionar el valor.
longer-value
: Si ya está habilitado es Verdadero, este valor se utilizará para la caducidad.
default-enabled
: Especifica si la caducidad predeterminada está habilitada. Si es Verdadero, también se debe proporcionar el valor.
default-value
: Si el valor predeterminado habilitado es Verdadero, este valor se utilizará para la caducidad.
<security>
<user id="john_smith" dn="CN=John Smith,OU=admin,DC=yourdomain,DC=org"/>
<user id="david_watson" dn="CN=David Watson,OU=admin,DC=yourdomain,DC=org"/>
<group id="DEV" dn="CN=DEV,OU=admin,DC=yourdomain,DC=org"/>
</security>
user
: este atributo especifica las credenciales del usuario administrador.
id
: Especifica el ID del usuario.dn
: Especifica el nombre completo del usuario.
group
: este atributo especifica el detalle del grupo.
id
: Especifica el nombre del grupo.dn
: Especifica el nombre completo del grupo.
<cache-topology topology="partition-replica">
<cluster-settings operation-timeout="60sec" stats-repl-interval="2sec" use-heart-beat="True">
...
</cluster-settings>
</cache-topology>
Esta etiqueta XML se utiliza para especificar los detalles de comunicación dentro del clúster; también contiene una subetiqueta, canal, que define con más detalle los detalles de comunicación del clúster:
Tenga en cuenta que esta etiqueta no estará presente en la caché local.
topology
: Especifica qué topología sigue el clúster; puede ser una de las siguientes según lo proporcionado por NCache:
- Topología de partición-réplica (NCache Enterprise , solamente)
- Topología replicada
- Topología particionada
- Topología de espejo
operation-timeout
: Determina el tiempo de espera de una conexión entre los servidores si un servidor en el clúster no responde.
stats-repl-interval
: (Intervalo de replicación de estadísticas) el intervalo proporcionado al clúster para sincronizar su información entre sus servidores.
use-heart-beat
: HeartBeat se utiliza para monitorear la conectividad entre nodos.
<data-persistence store-name="demoPersistenceCache_db">
<provider-settings provider-type="ncache-persistence" connection-string="lxxKK7Xqh0Tpm3rPvPOmYcCRYyeUV8f8NswyNRFum/uA0HXudbm6vWkXcnJ33GE9"/>
<operation-setting persistence-interval="1000ms" persistence-retries="3" persistence-interval-longer="60sec"/>
</data-persistence>
esta etiqueta data-persistence
se utiliza para determinar la configuración de su caché distribuida con persistencia. Solo aparece si ha configurado su store-type
as distributed-cache-persistence
. Tiene los siguientes parámetros:
provider-type
: Este parámetro indica el tipo de proveedor de persistencia que está utilizando en su distributed-cache-persistence
. tiene valor ncache-persistence
.
connection-string
: una cadena de conexión válida que determina la conexión con el provider-type
especificado.
persistence-interval
: Este es el intervalo después del cual las operaciones presentes en la cola de persistencia se aplican al almacén de persistencia.
persistence-retries
: Este es el número de reintentos en caso de fallas de persistencia por lotes después del cual el intervalo de persistencia se cambia a intervalo de persistencia más largo.
persistence-interval-longer
: Cuando varios fallos consecutivos alcanzan los reintentos de persistencia, el intervalo se establece en un intervalo de persistencia más largo.
<caching-modules>
<module name="lucene-net-4.8" enable="True">
<parameters name="IndexPath" value="C:\ProgramData\ncache\lucene-index\lucene"/>
</module>
</caching-modules>
<caching-module>
: Esta etiqueta XML especifica todos los módulos y sus respectivos parámetros registrados en un caché. Sólo aparece si has configurado tu store-type
as distributed-lucene
.
Bajo la <module>
etiqueta, tienes:
name
: Especifica el nombre del módulo. El módulo se identificará con el nombre que proporcione aquí. Este nombre debe ser único.
enable
: Activa/desactiva el módulo proporcionado.
Bajo la <parameters>
etiqueta, tienes:
name
: Especifica la lista de parámetros agregados a un módulo.
value
: Especifica el valor proporcionado para el parámetro agregado.
<cluster-connection-settings cluster-port="7806" port-range="1" connection-retries="2" connection-retry-interval="2secs" join_retry_count="24" join_retry_timeout="5"/>
<cluster-connection-settings>
: esta etiqueta XML especifica los detalles de la conectividad del puerto y otras opciones de comunicación entre los servidores del clúster:
cluster-port
: La conexión se canaliza a través de un puerto TCP; este valor define el puerto que ocupa.
port-range
: Al inicializar, si el puerto proporcionado es tomado por alguna otra aplicación entonces intentará establecer su conexión en el puerto incrementado en 1, para esto se proporciona el rango, es decir, hasta qué rango debe buscar un puerto TCP disponible.
connection-retries
: Si falla la conexión entre los nodos, esto define cuántos reintentos se deben realizar para considerarlo como un error permanente.
connection-retry-interval
: El intervalo entre reintentos de conexión se define en este valor.
<alerts>
<email-notification email-notification-enabled="False" sender="" smtp-server="" smtp-port="0" ssl="False" authentication="False" sender-login="" sender-password=""/>
<alerts-types cache-stop="False" cache-start="False" node-left="False" node-joined="False" state-transfer-started="False" state-transfer-stop="False" state-transfer-error="False" cache-size="False"/>
</alerts>
Si se requieren notificaciones de eventos por correo electrónico (solo función Enterprise), la información para su configuración se configura aquí:
Email-notification
: Contiene toda la información relacionada con la dirección de correo electrónico.
Email-notification-enabled
: Habilita la notificación a través de correo electrónico.
Sender
: especifique la cuenta de correo electrónico desde donde se envían las notificaciones por correo electrónico.
Smtp-server
: especifique la puerta de enlace para enviar notificaciones por correo electrónico.
Smtp-port
: el número de puerto utilizado para reenviar correos electrónicos.
SSL
: Secure Socket Layer para habilitar la seguridad SSL.
Authentication
: Si se requiere alguna autenticación, debe ser Verdadero.
Sender-login
: Si se requiere autenticación, especifique el nombre de inicio de sesión.
Sender-password
: La contraseña de autenticación se ingresa aquí.
Alert-Types
: Especifica en qué evento se generará un correo electrónico automatizado.
Cache-stop
: Si el caché se detiene en cualquier momento, se genera una notificación por correo electrónico.
Cache-start
: Al inicio del caché, se genera una notificación por correo electrónico.
Node-left
: Cuando un nodo de servidor abandona el clúster o si no se puede acceder a un nodo de servidor por algún motivo, se enviará una notificación por correo electrónico si esto está habilitado.
Node-joined
: Al unirse a cualquier nodo del servidor, se genera una notificación por correo electrónico.
State-Transfer-started
: Para notificar cada vez que se produce una transferencia de estado que ocurre cuando se realiza el equilibrio de carga, se genera una notificación por correo electrónico.
Cache-size
: Cada vez que se cambia el tamaño de la caché mediante Hot Apply, se genera una notificación por correo electrónico.
<sql-dependency use-default="False"/>
Esta etiqueta XML especifica la arquitectura de notificación SQL de servicios y colas. (Solo para empresas)
Use-default
: El atributo se puede establecer en Verdadero/Falso. Si el atributo se establece en Verdadero, el servicio y la cola de dependencia SQL predeterminados se crearán en tiempo de ejecución. Si el atributo se establece en Falso, entonces el servicio y la cola de dependencia SQL personalizados serán creados y utilizados por NCache.
Vea también
Configuraciones del lado del cliente
Configuración de puente
Configuración de seguridad