各库配置示例
各库配置示例
# MongoDB:创建 TTL 索引(后台线程约每 60 秒扫描一次)
db.sessions.createIndex({ createdAt: 1 }, { expireAfterSeconds: 3600 })
# Redis:设置键过期
redis-cli EXPIRE session:1 1800
# InfluxDB:按保留策略/桶自动清理(bucket 的 retention)
influx bucket update -n metrics -r 30dClickHouse 与 ES 的清理
ClickHouse 与 ES 的清理
-- ClickHouse:到期删除 + 数据下沉冷卷(合并时执行)
ALTER TABLE logs.events
MODIFY TTL ts + INTERVAL 30 DAY DELETE, ts + INTERVAL 7 DAY TO VOLUME "cold";
-- Elasticsearch ILM 的删除阶段(摘要)
PUT _ilm/policy/logs_30d
{
"policy": { "phases": { "delete": { "min_age": "30d", "actions": { "delete": {} } } } }
}清理计时是近似值:MongoDB TTL 线程周期扫描、ClickHouse 依赖合并、ES ILM 由周期任务评估,不适合当精确的定时删除器。