扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
PHP缓存与静态化知识:
成都创新互联是一家集网站建设,呼兰企业网站建设,呼兰品牌网站建设,网站定制,呼兰网站建设报价,网络营销,网络优化,呼兰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
缓存原理:缓存工作时程序查询数据时候,会把相应的结果序列化后保存到文件中,以后同样查询语句就可以不用直接查询数据库而是从缓存文件中获得。使得程序运行速度得以大幅度提升。
按缓存模式分有:页面缓存、数据缓存。ADODB缓存是数据缓存、smarty是页面缓存(Adodb+Smarty黄金搭档)。
按缓存技术分有:普遍缓存技术数据缓存、页面缓存、时间触发缓存、内容触发缓存(当插入数据或更新数据时,强制更新缓存)静态缓存、DNS轮询(BIND是一款开放源码的DNS服务器软件);
内存缓存(减少数据库负载,提升访问速度)、php的缓冲器、MYSQL缓存、基于反向代理的Web缓存(如Nginx,SQUID,mod_proxy(apache2以上又分为mod_proxy和mod_cache))。
按缓存类型分有:缓存模块(Zend Cache、APC等)、HTML方式(CMS)、生成Cache文件、php内置缓存机制(Discuz)、缓存IE下载的文件
判断缓存是否改变:缓存文件时间超过了就会自动读取新的,不然就读取缓存文件。也可以在更新数据的同时用clear_cache函数清除你原来的缓存。
伪静态就是mod_rewrite,还有pathinfo方式、真静态就是利用缓冲机制,生成文件。
数据缓存,基本是memcache、代码缓存,基本是apc。
缓存模块实例:
APC:
全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”,但我个人觉得应该叫”另一个PHP缓存”。因为这个东西如果叫”可选PHP缓存”,容易给人一种可要可不要的,不怎么有用的错觉。
PHP APC的安装: 一般是下载源代码然后phpize来编译安装,安装完以后在加上php.ini里加上 extension=apc.so 这么一行就行了。
PHP APC的使用: APC的使用其实倒说不上.APC是个优化器,自安装之日起,就默默地在后台为您的PHP应用服务了.您的所有PHP代码会被缓存起来. 另外,APC可提供一定的内存缓存功能.但是这个功能并不是十分完美,有报告说如果频繁使用APC缓存的写入功能,会导致不可预料的错误.如果想使用这个 功能,可以看看apc_fetch,apc_store等几个与apc缓存相关的函数. 从PHP5.2开始,APC引入了一个小甜饼,解决了困扰大家已久的大文件上传的进度条问题。
PHP APC的高级使用,缓存期限: APC的缓存分两部分:系统缓存和用户数据缓存。
php的缓存三种.有文件缓存,数据库缓存,memcache缓存;
memcache缓存要求对服务器支持,而且它的缓存是由期限的,一般是30天。这种缓存的效率是最高的。读存取的速度最快。
数据库缓存
和
文件缓存比较简单。适用小的项目。和php新手
不知阁下需要的是怎样的缓存?纯客户端?还是怎样的,以下可供参考:
一:储存于客户端的信息,页面调用时无需从服务器解析直接使用(常见的即为Cookie,还有HTML5里的localStorage,Application Cache);
二:离线性质,即用户不在线时,也可以正常访问网页,所访问的数据即客户端储存的缓存(HTML5中的应用程序缓存,即Application Cache);
三:客户端与服务端共同缓存的,这种方法可使已经从数据库查询的数据、已通过程序计算得到的数据存于服务器,服务器解析时直接调用,无需再处理得到,大大减轻了服务器的压力(常见的即为session,HTML5中为sessionStorage);
四:纯服务端,同三,即将服务器已经处理好的数据暂存于服务器,需要时直接调用而无需再次处理以便提高效率和减轻服务器压力(服务器端的缓存机制非常多,网站开发者基本都会);
主要有:
①普遍缓存技术②页面缓存③时间触发缓存④内容触发缓存⑤静态缓存(就生成html文件)
⑥内存缓存⑦php的缓冲器⑧MYSQL缓存⑨基于反向代理的Web缓存,DNS轮询
但是一般常用的就 ①②④,其他的是网站数据量大,交互多,为减小服务器压力才用到
参考资料:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流