md5 as memcached_key

Merlin merlin at
Tue Jan 27 07:01:45 MSK 2009

I agree that since this is not a cryptographic application, the fact that
md5 has some collisions is less relevent, maybe even irrelevent unless you
have a very large set of URIs you need to pull from memcached uniquely.

Due to the way nginx configuration and modules work, I am not sure that it
is viable to have $md5(SOMETHING) return md5.  A more likely (and probably
relatively easy to implement) solution might be something like this:

location /testing {
   set_md5 $memcached_key $request_uri;
   memcached_pass localhost:11211;

Perhaps I'll take a shot at it later on in the week :).

On Mon, Jan 26, 2009 at 3:25 PM, Sergio Bruder <bruder at> wrote:

> Em 26/01/2009, às 20:47, Geoff Geoff escreveu:
>  Dave Cheney wrote:
>>> md5 is not guaranteed to be unique, that is to say, two seperate
>>> inputs can generate the same hash, so you would need to use extra
>>> logic in your application if you wanted to guard against this remote
>>> possibility. I'm guessing the problem you are trying to solve is the
>>> memcache key has a limitation that is shorter than the possible
>>> request_uri ?
>>> Cheers
>>> Dave
>> Thanks Dave,
>> The problem is that memcached will not allow certain characters in the
>> key name - so I thought it might be simpler to just store the md5 of the
>> actual request_uri.
>> Thanks,
>> Geoff
> There are the theoretical chance of colision, yes, but you probably can use
> it anyway without a practical chance of colision.
> Sergio Devojno Bruder
> bruder at
> Haxent Consultoria
> 41 3362-1460
> 41 9933-8764
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list