Re: ngx_http_memcached_module + длинный ключ

Victor Ploshykhin rax-rax at yandex.ru
Tue Jan 15 03:17:19 MSK 2008


Напишите свой модуль-фильтр, который будет определять переменную, содержащую хэш от урла. 



14.01.08, 12:10, asv (asv at pallant-mobile.ru):



> Онаружилась интересная вещь: memcached (проверялось в 1.2.1 и 1.2.4 под 

> FreeBSD 6.0) не сохраняет данные по некоторым ключам длиннее, чем 256 байт 

> При включенном логе memcache видно вот что (ключ взят, что называется, "из 

> головы"):

> new client connection

> >>set 

> >>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 

> 0 3600 3

> >>STORED

> >>get 

> >>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

> >>CLIENT_ERROR bad command line format

> здесь видно, что от ключа при set-е отрезается конец.

> Вопрос: как защититься от такой ситуции при использовании 

> ngx_http_memcached_module c  Request-URI в качестве ключа (обязать uri быть 

> короче 256 байт как то кисло...)? 

> Так и тянет написать нечто вроде 

> set             $memcached_key   md5("$uri");

> Тогда уж точно будет работать стабильно -- все ключи 

> гарантированно короткой длины.








More information about the nginx-ru mailing list