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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

项目中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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

康奈尔笔记法

一页有三栏:主栏、副栏、思考栏。主栏主要是在右上角,主要记录学到的内容。副栏在左边,主要是简单概括重点。思考栏在底部,主要是记录收获、感悟。 主栏:在听讲或阅读时把重要的内容或知识的要点记录在右侧的区域&…

Memcached 内存管理(一)

2019独角兽企业重金招聘Python工程师标准>>> Memcached是一个高效的分布式内存cache,了解memcached的内存管理机制,便于我们理解memcached,让我们可以针对我们数据特点进行调优,让其更好的为我所用。这里简单谈一下我对…

jitter 如何优化网络_网络推广如何做好网站SEO优化

网络推广做好网站整站SEO优化的方式有很多,如何才能做好SEO优化?网络推广如何做好网站SEO优化一、定位网站关键词SEO给一个网站刚开始做优化的时候,不是立马就设置关键词,而是先分析该网站主要是做什么产品/服务。知道网站的目的是…

PHP+Mysql查询上一篇和下一篇文章实例

PHPMysql查询上一篇和下一篇文章实例 简单的PHPMysql查询上一篇和下一篇文章实例,并输出上一篇和下一篇文章的标题和链接,适合新手学习获取当前浏览文章id: 1 $id isset($_GET[id]) > 0 ? intval($_GET[id]) : ""; 下一篇文章…

openssh-在win7上的搭建

2019独角兽企业重金招聘Python工程师标准>>> 参考 http://www.cnblogs.com/ericsun/archive/2012/06/10/2544413.html 1.下载OpenSSH:http://sourceforge.net/projects/sshwindows/files/OpenSSH%20for%20Windows%20-%20Release/3.8p1-1%2020040709%20B…

LeetCode8——String to Integer (atoi)(自己编写atoi函数)

题目: 参考解法: I think we only need to handle four cases: discards all leading whitespaces sign of the number overflow invalid input int myAtoi(char* str) {int sign 1, base 0, i 0;while (str[i] ) { i; }//去掉空格if (str[i…

5类6类7类网线对比_孩子们长高的黄金时期是从3月到5月,这阶段多吃6类食物长得快...

原标题:孩子们长高的黄金时期是从3月到5月,这阶段多吃6类食物长得快每个家长都希望孩子长大。当他们看到自己的孩子比同龄的孩子矮时,他们会非常担心。他们特别担心孩子的成长。事实上,儿童的生长发育有明显的季节性,一…

快速地创建快顶尖的医学图像处理控件ImageGear Medical

ImageGear Medical控件使开发人员能够快速地创建快顶尖的医学图像处理控件,可以对DICOM文件进行浏览、创建、编辑,可以控制图像所有切面显示和打印,对图像进行注释,以及支持ISIS和TWAIN扫描和100多种图像文件格式,可用…

jj为什么会变大变小_为什么上过太空的种子果实会变大?射线会让生物向大变异吗?...

在科幻电影中,变异是不正常力量的重要来源之一,所谓“富人靠科技,穷人靠变异!”。但其实科幻在某种意义上一起在误导着我们,多数科幻作品其实是以科学为外衣的魔法故事,比如“爱你三千遍”的钢铁侠&#xf…

CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎

CutJS 是轻量级的,快速的,基于 Canvas 开发的 HTML5 2D 渲染引擎,可以用于游戏开发。它是开源的,跨平台的,与现代的浏览器和移动设备兼容。CutJS 提供了一个类似 DOM 树的数据模型来编写应用程序,并在内部…

LeetCode65——Valid Number(使用DFA)来判断字符串是否为数字

题目: 参考解法:(DFA) class Solution { public:bool isNumber(string str) {int state0, flag0; // flag to judge the special case "."while(str[0] ) str.erase(0,1);//delete the prefix whitespace while(str[s…

win10商店下载位置_Win10删应用商店下载记录|Win10删Microsoft Store下载记录

Win10中的Microsoft Store,也称微软应用商店,提供给Windows用户下载安装使用各种应用,因此有些用户,会在这里下载软件,不过,在使用时间长了,也是会产生下载记录的。这篇文章是PE吧给大家带来的W…

【原创】什么是 wire protocol

2019独角兽企业重金招聘Python工程师标准>>> 究竟 wire protocol 是指什么?下面这段话可以比较清楚的解释(原本来自 这里 )。 In a network, a wire protocol is the mechanism for transmitting data from point a to point b. T…

上机环境是什么意思_Python能不能自学,可以找到什么工作?

1、学习Python能够找到什么样的工作?Python 编程有很多方向,有网络爬虫、数据分析、Web开发、测试开发、运维开发、机器学习、人工智能、量化交易等等,各个方向都有特定的技能要求,比如学数据分析就要重点掌握统计学、SQL 等知识&…

mysql 优化之 is null ,is not null 索引使用测试

关于mysql优化部分,有很多网友说尽量避免使用is null, is not null,select * 等,会导致索引失效,性能降低?那是否一定收到影响呢?真的就不会使用索引了吗? 本文的测试数据库版本为5.7.18,不同版…

LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)

题目: 解法一: 注意long long类型,表示64bit数字。 解法二: class Solution { public:int reverse(int x) {int ans 0;while (x) {int temp ans * 10 x % 10;if (temp / 10 ! ans)//溢出后,这里就会不成立了return …

Qt designer界面和所有组件功能的详细介绍(全!!!)

PyQt5和Qt designer的详细安装教程:https://blog.csdn.net/qq_43811536/article/details/135185233?spm1001.2014.3001.5501 目录 1. 界面介绍2. Widget Box 常用组件2.1 Layouts(布局)2.2 Spacers(间隔器)2.3 Item V…

[转]四边形不等式优化dp(POJ1160)

四边形不等式优化动态规划原理: 1.当决策代价函数w[i][j]满足w[i][j]w[i’][j’]<w[I;][j]w[i][j’](i<i’<j<j’)时,称w满足四边形不等式.当函数w[i][j]满足w[i’][j]<w[i][j’] i<i’<j<j’)时,称w关于区间包含关系单调. 2.如果状态转移方程m为且决策…

LeetCode27——Remove Element(移除数组中指定的元素)

题目&#xff1a; 解法&#xff1a; class Solution { public:int removeElement(vector<int>& nums, int val) {int cnt 0;for(int i 0 ; i < nums.size() ; i) {if(nums[i] val)cnt;elsenums[i-cnt] nums[i];//这里体现了删除。画图表示&#xff08;2不是&a…

inputstream的大小为0_刘科排列三第2020306期推荐:独胆参考0,双胆0和7

排列三第2020305期奖号开出373&#xff0c;奖号类型为组三&#xff0c;大小比为1:2&#xff0c;奇偶比为3:0&#xff0c;012路比为2:1:0。 组选类型推荐&#xff1a;历史上排列三第306期同期奖号中&#xff0c;组六出现10期&#xff0c;组三出现4次&#xff0c;豹子出现1期&…