应用yii2缓存的正确方法是什么?

时间:2016-08-05 19:18:40

标签: php caching yii2 yii-components yii2-basic-app

由于我是缓存机制的新手,我经历了yii2 documentation。根据文档,我在yii2基本应用程序的db.php中添加了以下配置。

$ clang -c m.c -o m.o && clang -o m m.o t.bundle
ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) file 't.bundle' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我也在web.php中添加了缓存组件

<?php

return [
  'class' => 'yii\db\Connection',
  'dsn' => 'mysql:host=localhost;dbname=db_new',
  'username' => 'root',
  'password' => 'root123',
  'charset' => 'utf8',
  'enableQueryCache' => true,
  'queryCacheDuration' => 86400,
  'enableSchemaCache' => true,
  // Name of the cache component used to store schema information
  'schemaCache' => 'cache',
  // Duration of schema cache.
  'schemaCacheDuration' => 86400, // 24H it is in seconds

];

在从clients表中检索记录时添加了以下代码。

'components' => [
   'cache' => [
      'class' => 'yii\caching\ApcCache'
   ]
]

我假设我的客户端表一个记录ex)$ id = 3被缓存。所以下次如果我尝试从客户端表中检索相同的记录,它将从缓存中拉出而不是从头开始。

我的问题是

  1. 我上面做的是正确的或我需要配置的任何内容 更多?
  2. 它存储在本地系统中的位置。
  3. 提前致谢。

1 个答案:

答案 0 :(得分:0)

您在data caching here中找到的查询缓存是正确的。

有更多可用的缓存机制,例如fragmentpagehttp caching

据我所知,存储缓存数据的位置取决于缓存组件。 apc stores in memory

yii的FileCache将文件存储在/ runtime

很高兴知道你可以使用yii的控制台命令yii cache/flush-all

来刷新缓存