Same regex caching

David Yu david.yu.ftw at gmail.com
Thu Jul 21 14:18:06 UTC 2011


Hi,

I wanted to ask if the same regex used in multiple conditions is the same
cached-compiled version?
Eg I need to validate the all the (sub)request params before sending it
upstream:

location /foo {

if ($time !~ /(\d\d):(\d\d):(\d\d)/) { return 400; }
if ($arg_time !~ /(\d\d):(\d\d):(\d\d)/) { return 400; }

}

#note that in the real app, I'll have lots of repeated regex for email,
phone, used in every if directive

location /bar {

if ($arg_time !~ /(\d\d):(\d\d):(\d\d)/) { return 400; }
set_form_input $form_time time_finished;
if ($form_time !~ /(\d\d):(\d\d):(\d\d)/) { return 400; }

}

What I'm trying to do is send the params to redis with its lua scripting
engine handling the *pre-validated* request.
Redis is single-process while nginx can have multiple workers ... so its
only fitting to let nginx do validation for redis :-)

Cheers

-- 
When the cat is away, the mouse is alone.
- David Yu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20110721/6ba4bc2c/attachment-0001.html>


More information about the nginx mailing list