Nginx Caching strategy

Maxim Dounin mdounin at
Tue Oct 5 15:31:43 MSD 2010


On Mon, Oct 04, 2010 at 03:12:57PM -0400, cachenewbie wrote:

> All -  Is there a high level tutorial on how nginx does caching ?  Does

Some information is available here (in Russian):

Translation is available here (looks like correct one, but I 
haven't really checked):

> it use mmap to map the cache directory/file into memory and share it
> with all nginx worker processes (and use sendfile to send it out to the
> socket) ?  Or does it use directIO to open the file and use regular
> read/write syscalls ? This is for Linux debian platform.

nginx just saves responses to disk under the distinct names 
(derived from cache key), with headers at start.  When reading 
from cache, nginx uses regular read() (or aio if available and 
switched on) to read headers and normal file sending mecachnism to 
send body.

"Normal file sending mechanism" implies sendfile, aio, directio 
and so on - if available and configured.

Some metainformation about cache contents (to count cache 
accesses, remove old files and so on) are stored in shared memory.

Maxim Dounin

More information about the nginx mailing list