Forum: NGINX Retrieving memcache value for further processing

Posted by Markus Jelsma (Guest)
on 2010-02-05 11:58
(Received via mailing list)
Hello list,


I need some advice on how to solve my use-case. I have a memcache 
backend with
some keys and values. Every HTTP request carries a cookie with a SHA1 
hash as
value, this cookie value is also a key in memcache.

I already can retrieve the value and send it as a HTTP response using 
the
following configuration:

      # Check if we got the token, a 160bit SHA1 hash
      if ($http_cookie ~* "token=([A-Za-z0-9]{40})")
      {
        # Attempt to retrieve the token from memcache
        set $memc_cmd 'get';
        set $memc_key $http_cookie; # TODO; remove `token=` prefix from 
key

        memc_pass 127.0.0.1:11211;
      }

The question is, how to actually retrieve the value in the configuration 
for
further processing. For instance, i would like to put the value in the 
header
before i proxy it upstream.

I have tried reading the $memc_value but it seems it does not contain 
the
result and that it is only being used for setting or appending a key. If 
i
proxy_pass to $memc_value after executing memc_pass, it throws an error,
telling me the $memc_value was still empty.

In the end i need to perform several small operations on some conditions 
with
several memcache values before proxying the entire request upstream. Can 
i
even do this with the configuration and memc addon? Or would i need some
inline perl script to do so?

I use the latest 0.7 Nginx and 0.6 Memc addon.


Regards,


Markus Jelsma - Technisch Architect - Buyways BV
http://www.linkedin.com/in/markus17
050-8536620 / 06-50258350
Posted by Mauro Stettler (Guest)
on 2010-02-05 13:15
(Received via mailing list)
you should check the eval module:
http://www.grid.net.ru/nginx/eval.en.html
Posted by Markus Jelsma (Guest)
on 2010-02-05 13:44
(Received via mailing list)
Thanks Mauro!

This looks rather promising! I will try this.

Cheers


>you should check the eval module:
>http://www.grid.net.ru/nginx/eval.en.html


By the way, why don't i receive a copy of my own e-mail? I have the 
following
setting enabled.
Ordinarily, you will get a copy of every message you post to the list. 
If you
don't want to receive this copy, set this option to No.


Markus Jelsma - Technisch Architect - Buyways BV
http://www.linkedin.com/in/markus17
050-8536620 / 06-50258350
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.