Welcome! Log In Create A New Profile

Advanced

Re: Why cannot the same path for cache be used several times?

Maxim Dounin
August 06, 2014 01:38PM
Hello!

On Wed, Aug 06, 2014 at 06:48:29PM +0200, B.R. wrote:

> On Wed, Aug 6, 2014 at 8:47 AM, itpp2012 <nginx-forum@nginx.us> wrote:
>
> > keys_zone is memory, the other a 'file' path, I could imagine a 'cachehash'
> > used could overwrite the other.
> >
>
> ​I thought of that​, but learning how variables are resolved at request
> time, and knowing that configuration is parsed on HUP signal, I though
> nginx would handle cache requests from different servers/locations the same
> way it is dealing with them when they are coming from the same server.
>
> I have not digged into the code, and I do not know if there is such thing
> sa a 'cache manager' which would centralize cache management and respond to
> cache events.
>
> keys_zone are normally enough to avoid overwriting cache entries from other
> zones.
> Failing to do so, it would mean several keys_zone being used in the same
> cache are not isolated and can lead to collision... that would be
> catastrophic...
> From the assumption that keys_zone are collision-free, it would seem
> reasonable to share the same cache file over several calls.
>
> IMHO, the only thing that shall fail is the use of the same keys_zone on
> the same file more than once.
> Does not that sound reasonable?

To specify a cache, you have to define:

1) Unique name for the cache, to be used in proxy_cache
directives. This also the name of shared memory zone used to
store the cache in-memory data.

2) Path to a directory to store cache files.

Each cache is completely isolated from other caches (if any), and
knows nothing about them. Therefore, the directory used to store
cache files must be unique - if not, cache entries with identical
keys will be mapped to the same file, and will overwrite each
other. On the other hand, identical keys in different caches
doesn't mean that resources match, keys are expected to be unique
only within a given cache.

In most cases, you'll need only one cache; just use it multiple
times as appropriate with the proxy_cache directive. If you need
more than one cache for some reason, you'll have to specify both
unique name and unique storage path to avoid possible collisions.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

Re: Why cannot the same path for cache be used several times?

B.R. August 06, 2014 12:50PM

Re: Why cannot the same path for cache be used several times?

Maxim Dounin August 06, 2014 01:38PM

Re: Why cannot the same path for cache be used several times?

B.R. August 06, 2014 03:02PM

Re: Why cannot the same path for cache be used several times?

wandenberg August 07, 2014 12:02AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 169
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready