Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ngx_http_memcached_module + длинный ключ
- To: nginx-ru@xxxxxxxxx
- Subject: Re: ngx_http_memcached_module + длинный ключ
- From: Victor Ploshykhin <rax-rax@xxxxxxxxx>
- Date: Tue, 15 Jan 2008 03:17:19 +0300
- In-reply-to: 9050000000145407265
- References: 9050000000145407265
Напишите свой модуль-фильтр, который будет определять переменную, содержащую
хэш от урла.
14.01.08, 12:10, asv (asv@xxxxxxxxxxxxxxxxx):
> Онаружилась интересная вещь: 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");
> Тогда уж точно будет работать стабильно -- все ключи
> гарантированно короткой длины.
|