Welcome! Log In Create A New Profile

Advanced

Using memcached from an Nginx module

February 12, 2014 04:45PM
Hi All,

I want to develop an Nginx HTTP module that gets several values from memcache, performs some processing on them and returns the result to the client. I want all memcache operations to be performed asynchronously without blocking the worker process for maximum scalability. For this reason, I can't use libmemcached, and I'm looking for something that is built on Nginx.
Is anyone familiar with a piece of code that does that ?

Some more details:
As I understand, it is theoretically possible to use the existing memcache upstream module for this, using subrequests. For example, to get a value I could start a subrequest for it and then handle the result when the subrequest completes. But this approach sounds a bit awkward, and it has the unnecessary overhead of processing all these dummy HTTP requests.
What I would like ideally, is a module that exposes a function like - memcache_get(keyname, callback, context), where the callback is called either with the value if successful or an error code. I started writing such a module using the http_upstream module as reference, but found that it takes quite a bit of code to get it done, with lots of edge cases to handle (like timeouts in each one of the states)

Thank you !

Eran
Subject Author Posted

Using memcached from an Nginx module

erankor2 February 12, 2014 04:45PM

Re: Using memcached from an Nginx module

dannynoonan February 12, 2014 05:10PM

Re: Using memcached from an Nginx module

erankor2 February 12, 2014 05:29PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 103
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready