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 |
属性详情
方法详情
生成在判断依赖是否发生变化时用到的依赖数据。 在该类中这个方法不需要做什么。
protected mixed generateDependencyData($cache) | ||
$cache | yii\caching\CacheInterface | 正在计算缓存依赖的缓存组件。 |
return | mixed | 判断依赖是否发生变化时的依赖数据。 |
---|
根据指定的 tags 返回时间戳。
protected array getTimestamps($cache, $tags) | ||
$cache | yii\caching\CacheInterface | |
$tags | string[] | |
return | array | 由 tags 为数组下标数组值为时间戳的数组。 |
---|
使得所有和任何指定的 $tags 关联的缓存数据都置为无效。
public static void invalidate($cache, $tags) | ||
$cache | yii\caching\CacheInterface | 缓存数据项的缓存组件。 |
$tags | string|array |
检测依赖是否发生了变化。
public boolean isChanged($cache) | ||
$cache | yii\caching\CacheInterface | 正在计算缓存依赖的缓存组件。 |
return | boolean | 当前依赖是否发生了变化。 |
---|
根据指定的缓存键生成时间戳。
protected static array touchKeys($cache, $keys) | ||
$cache | yii\caching\CacheInterface | |
$keys | string[] | |
return | array | 由缓存键为下标值为时间戳组成的数组。 |
---|