---
url: /manual/persistence.md
description: cache.db 会保留什么、什么时候确认写入以及如何恢复
---

# 持久化

mayami 把可恢复状态放在 `cache.db`：FakeIP、DNS 提示、模式与选择、规则/provider 副本、面板归档、自动 ACME 材料和网段租约等。连接、mux session、NAT 表和在途数据不会从磁盘“复活”。

## 完整配置

```yaml check
cache_file:
  enabled: true
  path: cache.db
  store_selected: true
  store_fakeip: true
  store_dns: true

outbounds:
  direct:
    type: direct

route:
  final: direct

dns:
  servers:
    real: {type: udp, address: 1.1.1.1:53}
    fake: {type: fakeip, inet4_range: 198.18.0.0/15}
  rules:
    - {query_type: [A, AAAA], server: fake}
  final: real
```

字段见 [cache_file](/configuration/cache-file)。

## 一致性边界

* 新 FakeIP 映射在持久确认后才答复；重启不会把同一假地址立即分给另一个名字。
* DNS 缓存是提示，写失败不阻塞查询或配置重读。
* provider 和规则集按来源/正文摘要原子发布；坏副本退回原文件或重新抓取。
* 自动 ACME 证书与账户提前写入，避免重启后重新申请；数据库本身不提供静态加密。
* DHCP 只持久化 Bound 租约；过期、配置冲突和坏记录按各自恢复规则处理。

## 操作

```sh
mayami cache
mayami cache leases
mayami cache fakeip
```

离线检查读数据库文件的副本，不修改正在运行的数据库。`cache_file.path` 修改通常在下次启动生效；多实例共享目录时用 `cache_id` 隔离。

## 相关

* [cache_file](/configuration/cache-file)
* [FakeIP](/configuration/dns/fakeip)
* [dashboard](/manual/dashboard)
* [limits](/manual/limits)
