YII框架中使用memcache的方法详解
本篇章节讲授YII框架中行使memcache的要领。分享给各人供各人参考,详细如下: yii中可以很利便的行使memcache 一.设置 在main.php的components中插手cache设置 array( 'cache'=>array( 'class'=>'CMemCache','servers'=>array( array( 'host'=>'server1','port'=>11211,'weight'=>60,),array( 'host'=>'server2','weight'=>40,)声名: 1)class指明全部缓存类,CMemCache即为memcache 2) 当要行使多个cache轮询时,可以给每个cache配权重(weight)。假如只有一个cache,不加这个设置就可以了。 二.行使 挪用memcache的要领也很简朴 'ball','age'=>'male')); $expire = 10; yii::app()->cache->set($key,$value,$expire); Yii::app()->cache->get($key); Yii::app()->cache->delete($key);更多api请参阅yii手册CMemCache部门。 三.题目 当你同一行使yii的扩展对memcache举办存取时,不会有什么题目。但实际中会有这么一种环境:你在行使yii开拓靠山,但前台的同窗并未用yii,而是行使了原生的memcache api对数据举办操纵。这时会碰着一些题目。 如上文二中的例子,你会发明,假如行使原生的memcache api,Memcache::get,用people作key是取不到值的! 缘故起因是,yii的set对key和value都做了处理赏罚。默认环境下,对key加前缀并做md5调动,对value举办serialize()。这就难怪行使Memcache::get('people')取不到值了。 办理: 简朴的要领,可以通过设置,让yii的memcache扩展不举办特另外"小举措"。 array( 'class' => 'system.caching.CMemCache','servers' => array( array('host' => '127.0.0.1','port' => 11211)),'keyPrefix' => '','hashKey' => false,'serializer' => false)个中:
将这些都置空,扩展的举动就同原生Memcache同等了。 四.更多memcache要领挪用 yii的扩展中,只有memcache的最常用操纵,并没有相同原生memcache的decrement和increment等操纵。假如想要浸染这些要领怎么办呢?可以行使扩展中的getMemCache要领得到原生memcache对像,然后就可以行使原生要领了。 cache->getMemCache(); $res = $mem->decrement($key);行使原生要领时,最好配置上文(三)中提到的设置,否则同时行使yii的扩展要领和memcache的原生要了解带来贫困。 更多关于Yii相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》、《》及《》 但愿本文所述对各人基于Yii框架的PHP措施计划有所辅佐。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |