YII-高效

高效

1、缓存

//获取缓存组件
$cache = Yii::$app->cache;

//往缓存中写数据
$cache ->add('key1','hello world');
$cache ->add('key1','hello world2');

    //修改缓存  可以设置
$cache->set('key1','hello world');
$cache->set('key1','hello world2');

//读取缓存
$data = $cache ->get('key1');

//删除数据
$data = $cache->delete('key1');

//清空数据
$cache->flush();
$data = $cache->get('key1');

//缓存有效期
$cache->add('key','hello world',5);
$cache->set('key','hello world',5);
echo $cache->get('key');
var_dump($data);

1、文件缓存

//文件依赖  修改文件缓存失效
 $dependency = new \yii\caching\FileDependency(['fileName'=>'hw.txt']);
$cache->add('file_key2','hello world',3000, $dependency);

2、表达式缓存

先产生缓存,再更改参数、

//表达式依赖   
view-source:http://www.blog.com/index.php?r=hello/index&name=zhangsan  

//修改参数失效
$dependency = new \yii\caching\ExpressionDependency(['expression'=>'Yii::$app->request->get("name")']);
$cache->add('expression_key','hello world',3000,$dependency);
var_dump($cache->get('expression_key'));

3、DB依赖

SQL查询返回的结果发生变化,缓存过期

//DB依赖
$dependency = new \yii\caching\DbDependency(['sql'=>'SELECT count(*) from yii.orders']);
$cache->add('db_key','hello world',3000,$dependency);
var_dump($cache->get('db_key'));

4、页面缓存

在控制器中:

一、behavior先于其他操作执行
public function behaviors()
{
    return [
        [
            'class' => 'yii\filters\PageCache'
        ]
    ];
}

public function actionIndex()
{
    echo '3';
}
二、缓存-文件依赖
public function behaviors()
{
    return [
        [//文件依赖
            'class' => 'yii\filters\PageCache',
            'duration' => 1000,
            'dependency' => [
                'class' =>'yii\caching\FileDependency',
                'fileName' => 'hw.txt'
            ]
        ]
    ];
}

public function actionIndex()
{
    echo '4';
}
三、指定操作缓存
public function behaviors()
{
    return [
        [//文件依赖
            'class' => 'yii\filters\PageCache',
            'duration' => 1000,
            //'only' => ['index'],
            'only' => ['index','test'],
            'dependency' => [
                'class' =>'yii\caching\FileDependency',
                'fileName' => 'hw.txt'
            ]
        ]
    ];
}

public function actionIndex()
{
    echo '6';
}

public function actionTest()
{
    echo '7';
}

5、HTTP缓存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值