没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\caching\TagDependency

继承yii\caching\TagDependency » yii\caching\Dependency » yii\base\BaseObject
实现yii\base\Configurable
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/caching/TagDependency.php

TagDependency 是基于缓存数据的一个或者多个 $tags 实现的缓存依赖类。

通过调用 invalidate() 方法,你可以使得所有和指定的 tag 关联的缓存数据都置为无效。

// setting multiple cache keys to store data forever and tagging them with "user-123"
Yii::$app->cache->set('user_42_profile', '', 0, new TagDependency(['tags' => 'user-123']));
Yii::$app->cache->set('user_42_stats', '', 0, new TagDependency(['tags' => 'user-123']));

// invalidating all keys tagged with "user-123"
TagDependency::invalidate(Yii::$app->cache, 'user-123');

在 Cache 上更多的详情和详细的使用信息,请参考 guide article on caching

公共属性

隐藏继承的属性

属性类型描述被定义在
$data mixed 存储在缓存中的依赖数据, 将来会取出来和最新的依赖数据进行比较。 yii\caching\Dependency
$reusable boolean 依赖是否重用。True 表示当前依赖对象的依赖数据只在每个请求里生成一次。 这允许你在多个单独的缓存调用中使用相同的缓存依赖对象, 这样就会生成相同的数据页但是减少了每次生成缓存数据的开销。 默认是 false。 yii\caching\Dependency
$tags string|array 依赖的 tag 名称列表。如果仅仅是一个单独的 tag ,你可以指定它为一个字符串。 yii\caching\TagDependency

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\BaseObject
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
evaluateDependency() 通过生成和保存依赖相关的数据来计算依赖。 该方法会在缓存对象把要缓存的数据写入缓存之前调用。 yii\caching\Dependency
getHasChanged() 返回表明依赖是否发生变化的值。 yii\caching\Dependency
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. yii\base\BaseObject
invalidate() 使得所有和任何指定的 $tags 关联的缓存数据都置为无效。 yii\caching\TagDependency
isChanged() 检测依赖是否发生了变化。 yii\caching\TagDependency
resetReusableData() 重置所有重用依赖的缓存数据。 yii\caching\Dependency

受保护的方法

隐藏继承的方法

方法描述被定义在
generateDependencyData() 生成在判断依赖是否发生变化时用到的依赖数据。 在该类中这个方法不需要做什么。 yii\caching\TagDependency
generateReusableHash() 生成一个唯一的散列,它可以用来接收可重用的缓存数据。 yii\caching\Dependency
getTimestamps() 根据指定的 tags 返回时间戳。 yii\caching\TagDependency
touchKeys() 根据指定的缓存键生成时间戳。 yii\caching\TagDependency

属性详情

$tags 公共 属性

依赖的 tag 名称列表。如果仅仅是一个单独的 tag ,你可以指定它为一个字符串。

public string|array $tags = []

方法详情

generateDependencyData() 受保护 方法

生成在判断依赖是否发生变化时用到的依赖数据。 在该类中这个方法不需要做什么。

protected mixed generateDependencyData($cache)
$cache yii\caching\CacheInterface

正在计算缓存依赖的缓存组件。

return mixed

判断依赖是否发生变化时的依赖数据。

getTimestamps() 受保护 方法

根据指定的 tags 返回时间戳。

protected array getTimestamps($cache, $tags)
$cache yii\caching\CacheInterface
$tags string[]
return array

由 tags 为数组下标数组值为时间戳的数组。

invalidate() 公共 静态 方法

使得所有和任何指定的 $tags 关联的缓存数据都置为无效。

public static void invalidate($cache, $tags)
$cache yii\caching\CacheInterface

缓存数据项的缓存组件。

$tags string|array
isChanged() 公共 方法

检测依赖是否发生了变化。

public boolean isChanged($cache)
$cache yii\caching\CacheInterface

正在计算缓存依赖的缓存组件。

return boolean

当前依赖是否发生了变化。

touchKeys() 受保护 静态 方法

根据指定的缓存键生成时间戳。

protected static array touchKeys($cache, $keys)
$cache yii\caching\CacheInterface
$keys string[]
return array

由缓存键为下标值为时间戳组成的数组。