当前位置: 首页 > news >正文

网站建设方案策划北京疫情最新新闻

网站建设方案策划,北京疫情最新新闻,mac搭建本地wordpress,梅州建网站数据库缓存 数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问。 激活缓存需要三步: 在服务器上创建一个可写的目录以便保存缓存文件。在文件 application/config/database.php 中设置其目录。激活缓存特性,可以在文件 application/c…

数据库缓存

数据库缓存类允许你把数据库查询结果保存在文本文件中以减少数据库访问。

激活缓存需要三步:

  • 在服务器上创建一个可写的目录以便保存缓存文件。
  • 在文件 application/config/database.php 中设置其目录。
  • 激活缓存特性,可以在文件 application/config/database.php 中设置全局选项,也可以用以本页下面的方法手动设置。

一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。

当页面被浏览时CodeIgniter的查询缓存系统能够动态执行。如果缓存特性被激活,那么在此页面首次被加载时,数据库查询的结果对象将会被序列化并保存在你服务器的文本文件中。而页面再次被加载时缓存文件将会替代数据库查询。如此,在被缓存的页面中,你的数据库使用率会降至0。

只有 读类型(read-type) (SELECT) 查询会被缓存,因为只有这种查询会产生结果集。 写类型(Write-type) (INSERT, UPDATE, 等等) 查询,因为不会产生结果集,故缓存系统不对之进行缓存。

缓存文件不会过期,除非你删掉,否则任何被缓存了的查询会一直存在。缓存系统允许你按页面清除,或把所有缓存都清除掉。一般来说,你可以在某些事件(比如向数据库添加了数据)发生时用下面的函数来清除缓存。

缓存能否获得性能增益,取决于很多因素。如果您有一个负荷很少而高度优化的数据库,你可能不会看到性能提升。 如果您的数据库正在大量使用,您可能会看到缓存后带来的性能提升,前提是你的文件系统是并没有太多开销。在一些集群服务器环境,会出现这样的情况,因为文件系统的操作太过频繁,缓存无法正确生成。 在单一的服务器在共享的环境,高速缓存可能会是有益的。是否能有性能上的提升应还取决于您的数据库。这要看您的具体情况。

CI把每次查询的结果放置在自己的缓存文件里。根据你的控制器函数,缓存文件集将被进一步组织到子目录中。准确的话,子目录的名称由你的URI的前两段(控件器类名和函数名)决定。例如,假设你有一个控制器blog和一个comments函数,这个函数包括三个查询。缓存系统将创建一个叫做blog+comments的目录并在这个目录里创建三个缓存文件。当你根据URI上的信息动态查询时(例如使用分页),每次查询的实例将创建自己的缓存文件。因此,经过很多次查询后,缓存文件的个数可能比你查询的次数还多。

由于缓存文件不会过期,您需要在您的应用程序中写入删除缓存操作的代码。例如,假设您有一个博客,让用户发表评论。每当有新的评论被提交您一定希望在某个控制器的方法中删除缓存文件与控制器的功能。你会发现如下两个删除功能的介绍,可以帮助您清除数据。

可手动设置缓存开关。如果您想保留某些查询不被缓存 这个功能就十分有用。例如:

view source
print?
01// 打开缓存开关
02$this->db->cache_on();
03$query = $this->db->query("SELECT * FROM mytable");
04  
05// 使下面这条查询不被缓存
06$this->db->cache_off();
07$query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'");
08  
09// Turn caching back on
10$this->db->cache_on();
11$query = $this->db->query("SELECT * FROM another_table");

删除缓存文件与特定网页。如果你需要清除缓存后,更新您的数据库。

缓存系统会在缓存存放目录中建立与被访问的URL所对应的子目录,同时把缓存文件存放在那个子目录中.缓存主目录就是您在application/config/database.php 里面设置的缓存目录. 例如, 如果您正在浏览地址为 example.com/index.php/blog/comments的页面, 缓存系统会把所有生成的缓存文件放进一个以 blog+comments做为名称的文件夹里. 如果您要删除关于刚才提到的这个例子与之对应的缓存文件 需要执行以下代码:

view source
print?
1$this->db->cache_delete('blog', 'comments');

$this->db->cache_delete('blog', 'comments'),我在实际测试的时候不起作用,不知道为什么原因,不知道是不是小bug?但是下面的$this->db->cache_delete_all()是可以的,没有问题。

如果您不使用任何参数,目前的URI设置将决定什么时候应该清除/更新 该缓存。

清除所有所有的缓存文件。例子:

view source
print?
1$this->db->cache_delete_all();

网页缓存

Codeigniter 支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU 和数据库读取速度等因素直接影响了网页的加载速度。 依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保存到硬盘上了。

CI支持每个页面单独缓存,而且可以设置缓存更新时间。当一个网页第一次被加载的时候,缓存文件将被保存到application/cache文件夹。 下次访问的时候,系统就会直接读取缓存文件,然后返回给用户的浏览器。如果缓存文件过期,它将被删除并重新生成。

启用缓存功能,只需要将下面的代码放入你的任何一个控制器(controller)的方法(function)内:

view source
print?
1$this->output->cache(n);

其中 n 是你希望缓存更新的 分钟 数。可以使用 m/60 来精确到秒,例如 1/60 ,则是精确到 1秒。上面的代码可以放到任何一个 function 里面。他的出现顺序对缓存并没有影响,所以将它放在你认为最合乎逻辑的地方。一旦上面的代码放到了控制器的方法中,页面就会被缓存。

由于CI存储缓存文件的方式,只有通过 view 文件的输出才能被缓存。在缓存文件产生之前,请确保 application/cache 文件夹可写。

如果你不再想使用缓存,仅需将上面的代码从你的controller里面删除即可。注意: 这样做并不能让缓存文件立即消失,它将会自动过期并被删除。如果你想立即删除那些文件,就必须自己动手了。

转载于:https://www.cnblogs.com/hubing/p/3300436.html

http://www.lbrq.cn/news/2602747.html

相关文章:

  • 建行官网网站2023年又封城了
  • dw做的网站如何让别人看看西安网站维护公司
  • 公司做网站需要discuz论坛seo设置
  • 网站流量怎么做成品网站货源1688在线
  • 杭州微跑网站建设公司2345浏览器网址导航
  • 政法网站内容建设以图搜图
  • wordpress模块化布局西安关键词优化服务
  • 小伙反串做直播视频网站新闻 近期大事件
  • 做a小视频免费观看网站上海专业的seo公司
  • 陕西煤炭建设公司网站南宁seo费用服务
  • 商城类网站如何众筹成都网多多
  • 新零售平台公司有哪些南宁seo咨询
  • 济南小程序网站开发知名seo公司
  • wordpress的分类idseo优化多久能上排名
  • 企业网站建设教程视频亿速云
  • 建设银行舟山分行网站网络推广营销方案100例
  • 政务网站建设工作总结深圳百度推广代理商
  • 廊坊建站服务如何自己创建一个网站
  • 一个人可以备案几个网站竞价服务托管公司
  • 软件技术就业前景怎么样兰州网络seo公司
  • 网站开发需要什么人员水果网络营销策划书
  • 网站制作行业域名检测
  • 怎么做自己的卡盟网站平台推广费用
  • 帝国网站增加流量seo内链优化
  • 网站怎么做企业北京网络营销策划公司
  • 深圳市住房城乡建设局网站首页谷歌外贸平台推广需要多少钱
  • 亳州蒙城网站建设软文经典案例
  • 网站加入搜索引擎怎么做电子商务网站推广
  • 小型网站建设方案苏州seo关键词优化方法
  • 网站建设方案书是什么意思手机百度最新正版下载
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-登录实现
  • 机器学习 集成学习之随机森林
  • 【Unity笔记】Unity TextMeshPro 字体显示为方块的终极解决方案(含中文、特殊字符支持)
  • 数据结构(三)双向链表
  • Occ3D: A Large-Scale 3D Occupancy Prediction Benchmark for Autonomous Driving
  • LeetCode 140:单词拆分 II