日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目中CI缓存适配器的使用

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目中CI缓存适配器的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

項目中CI緩存適配器的使用
?? ?項目中有若干控制器,這些控制器有一些公共數據,因此,在基控制器類中獲取這些數據,為了提高系統性能,使用了緩存系統,采用了CI框架提供的緩存適配器來提供緩存數據的設置與獲取。

1.在基類的構造方法中加載CI的緩存適配器

//加載cache適配器$this->load->driver('cache',?array('adapter'?=>?'file'));

第一個參數是加載適配器類型,此處是緩存適配器;第二個參數是數組形式,adapter=>file表示指定文件作為緩存的實現。(也可以指定其它緩存實現,比如apc)

2.在基類的構造方法中加載所有緩存數據,系統中封裝了getCommCache()方法,在該方法中,從緩存中獲取所有子控制器需要使用的公共數據,代碼如下:

public?function?getCommCache(){//獲取導航數據if($this->getCache('nav'))????//如果緩存數據存在{//從緩存中獲取數據$this->nav?=?$this->getCache('nav');}else????//緩存數據不存在{//從數據庫獲取數據$this->load->model('Mhead');$this->nav=$this->Mhead->get_head();//將該數據設置到緩存$this->setCache('nav',$this->nav,10);//三個小時}。。。。。(其它數據設置與獲取類似)}

以上代碼中getCache、setCache方法是對CI緩存適配器方法的封裝,如下:

public?function?setCache($id,$data,$time=null){$this->cache->save($id,?$data,?$time);}public?function?getCache($id){return??$this->cache->get($id);}

其中,有關的幾個緩存適配器的方法為:
?? ?(1)設置數據到緩存系統中:
??

?$this->cache->save('cache_item_id[string]',?'data_to_cache[mix]',[time[int]]);

?? ?第一個參數為緩存數據名,第二個參數為需要緩存的數據,第三個參數可選,是緩存有效時間默認60秒。例如,需要將某段字符串作為緩存數據:
??

??$data?=?"this?is?the?common?text";$this->cache->save('commText',$data,60);

?? ?(2)從緩存中獲取數據:
??

?$foo?=?$this->cache->get('my_cached_item');

?? ?參數為設置緩存時的ID,返回值就是獲取到的緩存數據:
??

??$Text?=?$this->cache->get('commText');

?? ?除此之外,還包括刪除某個緩存數據:$this->cache->delete('cache_item_id');清空所有緩存:$this->cache->clean()等等。

?? ?暫時這么多,以后再補充。。。

轉載于:https://my.oschina.net/u/1472370/blog/220726

總結

以上是生活随笔為你收集整理的项目中CI缓存适配器的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。