Hello<div><br></div><div>I am using nginx as a reverse proxy in front of my Varnish servers. I have to do some operations on request URL to make a key before passing it to Varnish. The main operations will be:</div><div><br>

</div><div>1. Extract value of GET parameter 'a' and lookup 'keya' in memcache server. If keya is not found in memcache, look it up in mysql</div><div>2. Extract value of GET parameter 'b' and do some preg_replace operations on it to clean it up.</div>

<div>3. The potential value of 'keya' will basically be a set of key-values (array) and I have to iterate over them and for each item match (preg_match) the key of the item with value of 'keya'. If the match is found, I have to append the value of the item in my ORIGINAL KEY that I will pass to Varnish.</div>

<div><br></div><div>Once I have the key, I need to pass it to Varnish to get the complete string attached to that key.</div><div><br></div><div>My Questions are:</div><div>1. What is the best way to do this. I can code this in C but I have no experience with nginx code and I dont want to mess in it. Is there a way I can write this in an external file and link it via conf?</div>

<div>2. I think this all is possible in lua and I can use the agentzh's lua module but I am not familiar with lua language. Do you think this will be efficient and my learning Lua is worth it?</div><div>3. Do you think the way I am doing it make sense or shall I adapt another algorithm? The reason I need to use regex to clean and match is because I will get millions of dynamic URLs and I cant use them as keys directly for any cache. I got to process it before looking in cache. PHP / LAMP server wont be fast enough to do all this for thousands of queries per second and hence I want to stick with low level languages</div>

<div><br></div><div>Will be happy to share more details to get some directions.</div><div><br></div><div>Thanks<br clear="all">Sparsh Gupta<br>
</div>