入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

PHP中yii2缓存的介绍和使用

创建时间:2016-05-13 投稿人: 浏览次数:1143

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

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

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

"components" => [ 

    "cache" => [ 

        "class" => "yiicachingFileCache", 

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

    ], 

],

 

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

//默认的缓存路径是@app untimecache目录下,如果你想要修改缓存路径,可以像上面配置一样,配置下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" => "yiicachingMemCache", 

        "servers" => [ 

            [ 

                "host" => "server1", 

                "port" => 11211, 

                "weight" => 100, 

            ], 

            [ 

                "host" => "server2", 

                "port" => 11211, 

                "weight" => 50, 

            ], 

        ], 

    ], 

],

 

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。