选择缓存方案的总体思路
常见缓存层级与适用场景
| 层级 | 典型技术 | 适用场景 | 关键配置要点 |
|---|---|---|---|
| 内核/文件系统 | Page Cache、VFS | 通用文件读写加速 | 一般无需手动调,可通过 vm.vfs_cache_pressure 调整回收倾向 |
| DNS | nscd | 降低 DNS 查询延迟 | 配置 hosts 缓存的 TTL(如 positive-time-to-live 3600) |
| Web 反向代理/边缘 | Nginx proxy_cache、Varnish | 静态资源、可缓存的 API/页面 | 设置 keys_zone、max_size、inactive,按 状态码与 Cache-Control 管理有效期 |
| 应用/对象缓存 | Redis、Memcached | 数据库查询结果、会话、通用 KV | Redis 支持持久化/丰富结构;Memcached 简单高性能、多核友好 |
| 数据库缓冲 | MySQL InnoDB Buffer Pool、PostgreSQL shared_buffers | 降低磁盘 I/O、提升查询吞吐 | InnoDB 缓冲池常设为内存的较大比例;PG 的 shared_buffers 通常设为内存的约 25% |
| 页面/对象存储 | CDN | 面向全球/广域用户的静态内容与热点数据 | 配置 缓存规则、回源策略、预热 |
| 动态内容加速 | Nginx fastcgi_cache | 加速 PHP 等动态页面 | 结合 Cache-Control/ETag,对 Cookie/登录态 请求 bypass |
| 存储/虚拟化层 | SSD 缓存、KVM 磁盘缓存模式 | 虚拟机/数据库等 I/O 密集场景 | KVM 常见模式:writethrough / writeback / none(性能与安全取舍) |
| 上述技术均有在 CentOS 上的成熟配置实践,可作为落地参考。 |
按场景给出组合方案
关键参数与容量建议
实施步骤与验证