Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Yii memcache http

#memcached #php #yii #nginx


Итак необходимо реализовать следующее:
Yii пишет в кеш данные, а далее данные должны быть доступны по адресу:
site.ru/_stat/ключ кеша 
В качестве сервера у нас нгинкс, ос: центОс. 
Итак:
if(!Yii::app()->cache->set($GameProposalModel->proposal_id, 'renderTable('.json_encode($toCache).')'))

Я записываю данные в кеш, к примеру ключ будет равен 30 ($GameProposalModel->proposal_id
= 30)
Далее идем на нгинкс:
   location /_stat {
        set            $memcached_key "$uri?$args";
        memcached_pass 127.0.0.1:11211;
        error_page     404 502 504 = @fallback;
        add_header Content-Type "text/html; charset=utf-8"; 
    }

    location @fallback {

        proxy_pass  http://localhost:9000;
    }

Далее я так прикинул, что по ссылку site.ru/_stat/30 я должен получить данные моего
кеша. 
Но я получаю только 502 Bad Gateway
Пример из
http://nginx.org/ru/docs/http/ngx_http_memcached_module.html
Подскажите пожалуйста в чем проблема ?    


Ответы

Ответ 1



Вы делаете запрос к сайту site.ru/_stat/30 . Запрос обрабатывает ядро YII - отвечает за это UrlManager согласно настройкам. Также необходимо глянуть что находиться в .htaccess. После работы UrlManager вызывается контроллер, выбирается его действие - передаются в действие все параметры - и действие выполняется. Поэтому вам нада в контроллере делать действие отвечающие за выборку кэша из memcached и отдачу его клиенту

Комментариев нет:

Отправить комментарий