Добавить переменную в существующую функцию - PullRequest
0 голосов
/ 24 апреля 2019

Я использую Redis для кеширования объектов / страниц и phpRedis для очистки URL.

До вчерашнего дня мои ключи хранились в следующем формате:

set $key "nginx-cache:$scheme$request_method$host$request_uri";

из-за того, что я хотел разделить ключи кэширования для мобильных и настольных компьютеров, я добавил карту на свой веб-сервер (nginx) и еще одну переменную, в результате чего получилось следующее:

set $key "nginx-cache:$scheme$request_method$host$request_uri$ua_mobile";

Но теперь мои руки связаны с очисткой этих конкретных URL. Я попытался изменить эти строки моего класса phpRedis с:

    $prefix          = $nginx_helper_admin->options['redis_prefix'];
    $_url_purge_base = $prefix . $parse['scheme'] . 'GET' . $parse['host'] . $parse['path'];
    $is_purged       = $this->delete_single_key( $_url_purge_base );

до:

    $prefix          = $nginx_helper_admin->options['redis_prefix'];
    $_url_purge_base = $prefix . $parse['scheme'] . 'GET' . $parse['host'] . $parse['path'] . $parse['uamobile'];
    $is_purged       = $this->delete_single_key( $_url_purge_base );

но это не работает.

Есть идеи, как включить $ ua_mobile в эти запросы на очистку?

PS: моя функция delete_single_key:

    public function delete_single_key( $key ) {

    try {
        return $this->redis_object->del( $key );
    } catch ( Exception $e ) {
        $this->log( $e->getMessage(), 'ERROR' );
    }

}
...