本文整理汇总了PHP中yii\caching\Cache类的典型用法代码示例。如果您正苦于以下问题:PHP Cache类的具体用法?PHP Cache怎么用?PHP Cache使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Cache类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: releaseLock
/**
* @inheritdoc
*/
protected function releaseLock($name)
{
if (!$this->cache instanceof Cache) {
return false;
}
return $this->cache->delete($this->getCacheKey($name));
}
示例2: endGathering
public function endGathering()
{
array_pop($this->cacheStack);
$elements = $this->elements[$this->currentStackId];
Yii::trace('End gathering:' . $this->currentStackId);
$dependencies = array_pop($this->cacheStackDependencies);
$this->cache->set($this->getCacheKey(), $elements, $this->cacheLifetime, $dependencies);
unset($this->elements[$this->currentStackId]);
$stack = $this->cacheStack;
$this->currentStackId = end($stack);
return $elements;
}
示例3: init
/**
* @throws InvalidConfigException
*/
public function init()
{
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = __CLASS__;
if (($this->_paramsInfo = $this->cache->get($cacheKey)) === false) {
$this->_paramsInfo = $this->fetchParamsInfo();
$this->cache->set($cacheKey, $this->_paramsInfo, $this->cacheDuration, $this->cacheDependency);
}
} else {
$this->_paramsInfo = $this->fetchParamsInfo();
}
}
示例4: getToken
public function getToken($userId, $name, $portraitUri)
{
$cacheKey = 'token:' . serialize([strval($userId), strval($name), strval($portraitUri)]);
if (!$this->cache instanceof Cache || false == ($results = $this->cache->get($cacheKey)) || !isset($results['token'])) {
$response = $this->request('/user/getToken', ['userId' => $this->getUserAlias($userId), 'name' => $name, 'portraitUri' => $portraitUri]);
$results = Json::decode($response, true);
if (!isset($results['code']) || 200 != $results['code']) {
throw new ResultException($response, '获取token失败');
}
if ($this->cache instanceof Cache) {
$this->cache->set($cacheKey, $results, $this->tokenCacheDuration);
}
}
return $results['token'];
}
示例5: init
/**
* @throws \yii\base\InvalidConfigException
*/
public function init()
{
parent::init();
if (!empty($this->cache)) {
$this->cache = Instance::ensure($this->cache, Cache::className());
}
}
示例6: beforeAction
public function beforeAction($action)
{
if (!$this->enabled) {
return true;
}
$this->cache = Instance::ensure($this->cache, Cache::className());
$this->cache->cachePath = Yii::getAlias($this->cachePath) . '/' . $action->getUniqueId();
if (is_array($this->dependency)) {
$this->dependency = Yii::createObject($this->dependency);
}
$properties = [];
foreach (['cache', 'duration', 'dependency', 'variations'] as $name) {
$properties[$name] = $this->{$name};
}
$id = $this->varyByRoute ? $action->getUniqueId() : __CLASS__;
$response = Yii::$app->getResponse();
ob_start();
ob_implicit_flush(false);
if ($this->view->beginCache($id, $properties)) {
$response->on(Response::EVENT_AFTER_SEND, [$this, 'cacheResponse']);
return true;
} else {
$data = $this->cache->get($this->calculateCacheKey());
if (is_array($data)) {
$this->restoreResponse($response, $data);
}
$response->content = ob_get_clean();
return false;
}
}
示例7: init
/**
* Initializes the DbMessageSource component.
* This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
* Configured [[cache]] component would also be initialized.
* @throws InvalidConfigException if [[db]] is invalid or [[cache]] is invalid.
*/
public function init()
{
parent::init();
$this->db = Instance::ensure($this->db, Connection::className());
if ($this->enableCaching) {
$this->cache = Instance::ensure($this->cache, Cache::className());
}
}
示例8: init
/**
* Initialize the component
*/
public function init()
{
parent::init();
if ($this->cache !== null) {
$this->cache = Instance::ensure($this->cache, Cache::className());
}
$this->model = new $this->modelClass();
}
示例9: init
/**
* Initializes this application component.
* It checks if extension required is loaded.
*/
public function init()
{
parent::init();
$extension = $this->useApcu ? 'apcu' : 'apc';
if (!extension_loaded($extension)) {
throw new InvalidConfigException("ApcCache requires PHP {$extension} extension to be loaded.");
}
}
示例10: actionFlushCache
public function actionFlushCache($component = 'cache')
{
/** @var Cache $cache */
$cache = Instance::ensure($component, Cache::className());
$cache->flush();
Yii::$app->session->setFlash(Alert::TYPE_SUCCESS, Yii::t('gromver.platform', 'Cache flushed.'));
return $this->redirect(['index']);
}
示例11: __construct
/**
* Singleton construct.
*/
protected function __construct()
{
try {
$this->cache = Instance::ensure($this->cache, DefaultCache::className());
} catch (Exception $e) {
$this->cache = new DummyCache();
}
}
示例12: run
public function run()
{
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = [__CLASS__, $this->items];
if (($this->items = $this->cache->get($cacheKey)) === false) {
$this->items = ModuleEvent::trigger(self::EVENT_FETCH_ITEMS, new MenuItemsEvent(['items' => $this->items]), 'items');
$this->cache->set($cacheKey, $this->items, $this->cacheDuration, $this->cacheDependency);
}
} else {
$this->items = ModuleEvent::trigger(self::EVENT_FETCH_ITEMS, new MenuItemsEvent(['items' => $this->items]), 'items');
}
$this->items += $this->customItems;
parent::run();
// TODO: Change the autogenerated stub
}
示例13: init
public function init()
{
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = __CLASS__;
if ((list($paths, $routes, $links) = $this->cache->get($cacheKey)) === false) {
$this->createMap();
$this->cache->set($cacheKey, [$this->_paths, $this->_routes, $this->_links], $this->cacheDuration, $this->cacheDependency);
} else {
$this->_paths = $paths;
$this->_routes = $routes;
$this->_links = $links;
}
} else {
$this->createMap();
}
}
示例14: init
/**
* 初始化组件
*/
public function init()
{
parent::init();
if ($this->cache !== null) {
$this->cache = Instance::ensure($this->cache, Cache::className());
} else {
throw new InvalidConfigException("Cache must be turned on");
}
self::$wechat = $this;
}
示例15: init
/**
* Initializes the DbCache component.
* This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
* @throws InvalidConfigException if [[db]] is invalid.
*/
public function init()
{
parent::init();
if (is_string($this->db)) {
$this->db = Yii::$app->getComponent($this->db);
}
if (!$this->db instanceof Connection) {
throw new InvalidConfigException("DbCache::db must be either a DB connection instance or the application component ID of a DB connection.");
}
}