Cakephp3 - кэширование загруженных результатов с проблемой динамического ключа - PullRequest
0 голосов
/ 01 мая 2019

У меня есть запрос:

$q = TableRegistry::getTableLocator()->get('Tab1')->find('OneById',
            ['id' => 1])->cache(function (Query $q) {
            return 'q' . md5(serialize($q->clause('where')));
        }, 'cQuestions')->first();

cQuestions - это моя пользовательская конфигурация кэша.

При каждом выполнении вышеуказанного запроса переменная $q будет иметь новые значения из базы данных, несмотря на то, что результат анонимной функции одинаков; Кеш сбрасывается.

Когда я меняю анонимную функцию для установки ключа кеша, вот так:

function (Query $q) {
            return 'qtest';
        }

проблема со сбросом кеша исчезла.

Почему? Кеш ключей одинаков в обеих ситуациях.

...