Cakephp3-使用动态密钥问题缓存加载的结果

时间:2019-05-01 19:55:47

标签: caching cakephp-3.x

我有一个查询:

$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';
        }

重置缓存的问题消失了。

为什么?在两种情况下,密钥缓存都是相同的。

0 个答案:

没有答案