我是 Nginx 新手。我的 nginx 缓存设置在 nginx.conf 中
fastcgi_cache_path /dev/shm levels=1:2 keys_zone=my-cache:100m inactive=7d;
这是什么意思?级别,100m 和 inactive=7d?
提前致谢。
答案1
从 Nginx 配置页面:http://wiki.nginx.org/HttpFastcgiModule#fastcgi_cache_path
“级别参数设置用于存储缓存文件的子目录名称的数量和宽度。”
换句话说,如果您将缓存设置为/dev/shm levels=1:2
并进入 /dev/shm,您将看到大量名称长度为 1 个字符的文件夹。在每个文件夹下面,您将看到更多名称长度为 2 个字符的文件夹。每个文件夹下面都是实际的缓存数据。
关于keys_zone和inactive:
http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_path
“此外,所有活动密钥和数据信息都存储在共享内存区域中,其名称和大小由 keys_zone 参数配置。在 inactive 参数指定的时间内未访问的缓存数据将从缓存中删除,无论其新鲜度如何。默认情况下,inactive 设置为 10 分钟。”
keys_zone 参数本质上充当缓存中所有文件的“地址簿”。name 参数只是命名此 nginx 实例的 keys_zone 区域,size 参数增加/减少可用密钥填充的总大小。换句话说,如果您希望能够缓存所有内容,则缓存越大(阅读:非活动设置高)和流量越高,您希望 keys_zone 越大。