How does nginx cache work ?

Zhang Chao zchao1995 at gmail.com
Thu Sep 7 08:51:48 UTC 2017


Hi!

according to the function ngx_http_upstream_cache, I think nginx never load
the file to memory, instead, it just set a buf, which file is referenced to
this file and output it.

On 7 September 2017 at 16:31:46, ujaeek at yahoo.co.jp (ujaeek at yahoo.co.jp)
wrote:

Hi,

Currently we are modify some nginx proxy cache functions, and I would like
to know how nginx cache work?

1. does nginx cache data in memory or read from disk everytime?

for example, first I do `GET /example.jpg`, nginx will cache it and save to
disk.
next time I do `GET /example.jpg`, does nginx read the file from disk then
send to client,
or nginx just send the file from memory to client because nginx has cached
it in memory ?

2. if nginx save it in memory, what happens if the file is 1GB?

does nginx malloc a 1GB memory and save the file? or split the file into
many parts, and save it separately using
something like array or linked list?

Thanks
_______________________________________________
nginx-devel mailing list
nginx-devel at nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20170907/4720fa83/attachment.html>


More information about the nginx-devel mailing list