Php Yii2缓存活动记录

Php Yii2缓存活动记录,php,yii2,Php,Yii2,我需要在Yii2中缓存活动记录数据的帮助 在文档中有以下示例: $result = Customer::getDb()->cache(function ($db) { return Customer::find()->where(['id' => 1])->one(); }); 我知道它需要在模型类中实现该方法,例如: public static function getByPk($pk) { $result = self::getDb()->ca

我需要在Yii2中缓存活动记录数据的帮助

在文档中有以下示例:

$result = Customer::getDb()->cache(function ($db) {
    return Customer::find()->where(['id' => 1])->one();
});
我知道它需要在模型类中实现该方法,例如:

public static function getByPk($pk)
{
    $result = self::getDb()->cache(function ($db) use ($pk) {
        return self::find()->where(['id' => $pk])->one();
    });

    return $result;
}
如果此查询结果已缓存在
$result
中,则将从缓存中设置值,否则将正确执行查询


我还有一个关于依赖关系的问题,我可以使用什么依赖关系使这个缓存值无效?

作为一个意见!您知道这取决于添加到缓存存储的数据。如果是一些静态数据,如状态、位置等,则可以设置第二个参数
持续时间
。您可以在官方网站上阅读。

如果你在页面上做了一些相同的查询,你可以设置1秒或2秒,这对你有一点帮助。

作为一种意见!您知道这取决于添加到缓存存储的数据。如果是一些静态数据,如状态、位置等,则可以设置第二个参数
持续时间
。您可以在官方网站上阅读。
如果你在页面上做了一些相同的查询,你可以设置1秒或2秒,这对你有一点帮助