温馨提示×

centos缓存如何生效

小樊
46
2026-10-26 05:38:51
栏目: 智能运维

在 CentOS(以及大多数 Linux 系统)里,常说的“缓存”通常指 页缓存(Page Cache)、DNS 缓存、软件包缓存(yum/dnf) 或 应用层缓存(如 Nginx、Redis)。下面分别说明它们“如何生效”。


一、Linux 页缓存(系统级缓存,自动生效)

是否生效:自动生效,无需配置

Linux 会主动把频繁访问的文件放入内存(Page Cache),加快读取速度。

查看缓存是否生效

free -h

关注 buff/cache 字段,值越大说明缓存命中越多。

查看缓存命中情况

cat /proc/vmstat | grep pg

手动清理缓存(不推荐频繁使用)

sync
echo 3 > /proc/sys/vm/kernel/sysctl
# 或
sysctl -w vm.drop_caches=3

二、DNS 缓存(CentOS 7/8 常见)

CentOS 默认 不自带 DNS 缓存,需要额外服务。

1️⃣ systemd-resolved(CentOS 8+)

systemctl enable --now systemd-resolved

查看缓存:

resolvectl statistics

2️⃣ nscd(传统方式)

yum install nscd
systemctl enable --now nscd

三、YUM / DNF 软件包缓存

用于离线安装或加速

启用缓存

vim /etc/yum.conf

确保:

keepcache=1

缓存位置

/var/cache/yum/

手动缓存软件包

yum install xxx --downloadonly

四、Nginx 缓存(应用层)

配置示例

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=mycache:10m;

location / {
    proxy_cache mycache;
    proxy_pass http://backend;
}

生效验证

curl -I http://localhost

出现 X-Cache: HIT 即生效。


五、Redis / Memcached(业务缓存)

这类缓存 必须应用主动写入才会生效:

  • 应用写数据 → Redis
  • 下次读 → 先从 Redis 取

六、常见“缓存不生效”原因

  1. 文件/接口设置了 no-cache
  2. 应用未启用缓存逻辑
  3. 缓存服务未启动
  4. 内存不足被系统回收
  5. 时间过期(TTL 太短)

总结

缓存类型 是否自动生效
页缓存 ✅ 自动
DNS 缓存 ❌ 需服务
YUM 缓存 ⚙️ 配置
Nginx 缓存 ⚙️ 配置
Redis ❌ 应用控制

如果你指的是 某一种具体缓存(如 Nginx、yum、DNS),可以告诉我,我能给你更精确的配置示例。

0 踩