PHP中yii2缓存的介绍和使用

本文介绍了Yii2框架中的缓存机制及其配置方法,包括文件缓存和MemCache缓存的实现过程。通过实例演示了如何设置缓存、读取缓存数据以及调整缓存时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Yii2PHP开发(http://www.maiziedu.com/course/php/中最好的框架,因为yii2框架有精心设计的框架结构和缓存支持,所以yii框架特别适合开发大型应用,如门户网站、论坛、内容管理系统(CMS)、电子商务项目和 RESTful Web 服务等。今天我们不讲yii框架的其他内容,就讲讲yii2的缓存及使用方法。 

惯例的第一步是配置yii组件。 

方便起见,我们的缓存组件配置在common\config\main.php文件,先来简单配置下文件缓存 

'components' => [ 

    'cache' => [ 

        'class' => 'yii\caching\FileCache', 

        'cachePath' => '@runtime/cache2', 

    ], 

],

 

所谓的文件缓存,其实就是把我们要缓存的数据存放到文件内,那数据又缓存到哪里了呢? 

//默认的缓存路径是@app\runtime\cache目录下,如果你想要修改缓存路径,可以像上面配置一样,配置下cachePath即可

我们直接来操作看看

$cache = Yii::$app->cache; 

$data = $cache->get('cache_data_key'); 

if ($data === false) { 

    //这里我们可以操作数据库获取数据,然后通过$cache->set方法进行缓存 

    $cacheData = ...... 

    //set方法的第一个参数是我们的数据对应的key值,方便我们获取到 

    //第二个参数即是我们要缓存的数据 

    //第三个参数是缓存时间,如果是0,意味着永久缓存。默认是0 

    $cache->set('cache_data_key', $cacheData, 60*60); 

var_dump($data);

刷新下页面可以看到第一次打印的结果是false,第二次我们得到缓存结果cache_data。我们可以打开文件看看文件内是否有我们的数据 

a:2:{i:0;s:10:"cache_data";i:1;N;}

可以很清楚的看到我们的数据被序列化存放在文件内。 

接下来我们再看看如何把我们的缓存数据存放到memcache中去。 

很简单,你只需要像下面这样简单的配置即可,操作完全跟我们前面一致。 

'components' => [ 

    'cache' => [ 

        'class' => 'yii\caching\MemCache', 

        'servers' => [ 

            [ 

                'host' => 'server1', 

                'port' => 11211, 

                'weight' => 100, 

            ], 

            [ 

                'host' => 'server2', 

                'port' => 11211, 

                'weight' => 50, 

            ], 

        ], 

    ], 

],

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值