您现在的位置是:网站首页>>PHP>>Yii

Yii 缓存

发布时间:2018-09-10 10:21:49作者:wangjian浏览量:303点赞量:0

    一:数据缓存

    (1):开启缓存组件

    在配置文件中配置缓存组件

    'cache' => [
                'class' => 'yii\caching\FileCache',
            ],

    使用标准文件存储缓存数据。 这个特别适用于缓存大块数据

    也可以使用redis配置缓存组件


    'cache' => [
                'class' => 'yii\redis\Cache',
                'redis' => 'redis',
            ],
    'redis' => [
                'class' => 'yii\redis\Connection',
                'hostname' => '127.0.0.1',
                'port' => 6379,
                'database' => 0,
            ],

    (2):使用

    设置Cache:

    Yii::$app->cache->set('testcache', array(1,3,4,6));//默认有效期为一年
    Yii::$app->cache->set('testcache', array(1,3,4,6), 3600);//一个钟,秒为单位


    获取Cache:


    $data = Yii::$app->cache->get('testcache');

    删除单个Cache:

    Yii::$app->cache->delete('testcache');

    清空全部Cache:


    Yii::$app->cache->flush();

    例:

    // 尝试从缓存中取回 $data
    $data = \Yii::$app->cache->get('test');
    if ($data === false) {
      // $data 在缓存中没有找到,则重新计算它的值
      $data = array(1,2,2,5);
      // 将 $data 存放到缓存供下次使用
      \Yii::$app->cache->set('test', $data,10);
    }
            
    var_dump(($data));
    // 这儿 $data 可以使用了。

    二:查询缓存

    $db = \Yii::$app->db;
    $result = $db->cache(function ($db) {
     // SQL 查询的结果将从缓存中提供
     // 如果启用查询缓存并且在缓存中找到查询结果
     return ProductInfo::find()->andWhere(['id'=>90])->asArray()->one();
    },10);//缓存10秒,默认3600秒
    var_dump($result);

上一篇:php 数组排序

下一篇:80端口被占用解决

0 +1