openresty / memc-nginx-module

An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands.
http://wiki.nginx.org/NginxHttpMemcModule
213 stars 56 forks source link

Diff w.r.t Enhanced Memcache #16

Open petergsnm opened 10 years ago

petergsnm commented 10 years ago

Hi,

How is this different from the enhanced memcache module of ngx_http_enhanced_memcached_module ?

Can you please clarify why you suggest this not to be integrated with Nginx?

This module is not supposed to be merged into the Nginx core because I've used Ragel to generate the memcached response parsers (in C)

Thanks, Peter

agentzh commented 10 years ago

@petergsnm I've noted several obvious differences:

  1. This ngx_memc module has a much longer history than ngx_enhanced_memcached (more than 2 years older) and is more actively maintained (the last commit to ngx_enhanced_memcached was one year ago while the last commit to ngx_memc was just 1 month ago).
  2. This ngx_memc module takes testing very seriously and comes with a comprehensive test suite that has been frequently run against the latest nginx versions with various testing modes (valgrind, mockeagain, hup reload, leak check, and etc) on Amazon EC2 for years: http://qa.openresty.org I don't see ngx_enhanced_memcached comes with any tests in its git repos.

For better comparison on functionalities and implementations, you'll need to read both modules' documentation and C source, or even do you own testing (I'm not interested in nor have the time to test the ngx_enhanced_memcached module myself).

Can you please clarify why you suggest this not to be integrated with Nginx? This module is not supposed to be merged into the Nginx core because I've used Ragel to generate the memcached response parsers (in C)

I take me wrong; I did not suggest that, it is just that the NGINX maintainers dislike machine generated C code (from Ragel, for example). It is that simple.