redis get

Дмитрий Жильцов zaabjuda на gmail.com
Ср Мар 28 15:35:41 UTC 2012


        location /mus/dln/stream {
                location ~ ^/mus/dln/stream/(?P<trID>[^/]+)$ {
                        add_header Content-Type "audio/wav";
                        proxy_hide_header Content-Type;
                        set $diyURI ab;
                        rewrite_by_lua '
                            local res =
ngx.location.capture("/mus/internal/getDlnURI/"..ngx.var.trID)
                            ngx.var.dlnURI = res.body
                        ';
                        proxy_pass $dlnURI ;
                }
        }
        location /mus/internal {
                internal;
                location ~
^/mus/internal/getDlnURI/(?P<redisKeyFromLocation>[^/]+)$ {
                        add_header Content-Type "text/html";
                        set $redisKeyPrefix dln;
                        set $redis_key $redisKeyPrefix$redisKeyFromLocation;
                        redis_pass 127.0.0.1:6379;
                }

В данном случае в локейшен /mus/internal/getDlnURI/ выплёвывется
значение ключа из редиса, затем в локейшене /mus/dln/stream/ мы с
помощью LUA выдёргиваем значения из предыдущего локейшена и
присваиваем это значение новой переменной $dlnURI , которую можем
использовать по своим задачам.

Для отладки параметр internal в локейшене /mus/internal можно
закоментить. И да тут я использовал  модуль HttpRedis
(http://wiki.nginx.org/HttpRedis) но суть от этого не меняется

28 марта 2012 г. 12:00 пользователь Saniek <nginx-forum на nginx.us> написал:
> если не трудно, скиньте пожалуйста.
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,224390,224519#msg-224519
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Подробная информация о списке рассылки nginx-ru