Índices TTL
Esta página proporciona orientación sobre la configuración de índices TTL (Tiempo de Vida), que eliminan automáticamente los datos expirados después de un período especificado.
Archivo de propiedades
Algunas propiedades para el índice TTL son configurables, y se pueden establecer utilizando el siguiente archivo de propiedades:
package com.iconsolutions.ipf.core.platform.scheduler.persistent.mongo;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.time.Duration;
@Data
@ConfigurationProperties(prefix = "ipf.persistent.scheduler.ttl")
public class MongoIndexProperties {
/**
* The name of the field that will be used for TTL index
*/
private String timestampFieldName;
/**
* The duration a record is considered to be expired
*/
private Duration expiry;
/**
* a toggle to either create or not the indexes
*/
private Boolean createIndexesFlag;
}
-
timestampFieldName: campo utilizado para el índice ttl -
expire: Duración para que el registro sea considerado expirado -
createIndexesFlag: el valor predeterminado es verdadero. Un interruptor para crear el índice.
El ejemplo a continuación establece que el campo deleteTime expire para registros más antiguos de 1 hora:
ipf {
persistent {
scheduler {
ttl {
timestamp-field-name = "deleteTime"
expiry = 1h
create-indexes-flag = true
}
}
}
}
Creación de índices
La creación de índices puede deshabilitarse globalmente con:
ipf.mongodb.create-indexes=false
Para deshabilitar la indexación globalmente pero mantenerla para el scheduler, aplique lo siguiente, manteniendo el orden:
ipf.mongodb.create-indexes=false
ipf.persistent.scheduler.ttl.create-indexes-flag = true
The quórum de confirmación puede ser controlado de manera similar con:
ipf.persistent.scheduler.ttl.commit-quorum=1
O bien anulado globalmente con:
ipf.mongodb.commit-quorum=1