NginxHttpMemcModule vie NginxHttpMemcachedModule
Piotr Sikora
piotr.sikora at frickle.com
Tue Dec 29 08:01:12 MSK 2009
> BTW, none of them can be serve as a transparent content cache out of
> the box. I can think of a ngx_cache module just like Apache2's
> mod_cache (with various storage backends like mod_disk_cache,
> mod_mem_cache, and mod_libmemcached_cache in that context). Is anyone
> already working on that?
I've got mixed feelings about this.
Regarding memcached / other storage backends:
I would love to see memcached module which would be able to act as a
transparent cache for proxy/fastcgi/slowfs and save content to memcached
cluster(!), but the way I see it, it cannot be easily implemented as a
module. In my opinion change of storage backends should be as transparent as
possible, which means that this should be implemented as modification of
existing {proxy,fastcgi,slowfs}_cache_path or addition of similar
{proxy,fastcgi,slowfs}_memcached_path and nothing more (from configuration
point of view).
This should be fairly easy to implement as a patch. Calling memcached_set
function instead of ngx_ext_rename_file() in ngx_http_file_cache_update()
should do the trick for writing and calling memcached_get function instead
of ngx_http_file_cache_read() in ngx_http_file_cache_open() should do the
trick for reading ;)
(Yes, I already did the hard part :P)
Implementing this as a module probably wouldn't be as easy and as clean
(configuration-wise).
But does anyone actually need such feature?
Regarding ngx_cache module:
I believe it is NOT needed. It would be a lot(!) of code replicated from
nginx base, which would be a nightmare to maintain and keep compatible with
all existing nginx versions. Also, it wouldn't add any real benefits over
existing {proxy,fastcgi,slowfs}_caches and memcached storage backend
described above.
But this is just my opinion ;)
Best regards,
Piotr Sikora < piotr.sikora at frickle.com >
More information about the nginx
mailing list