PHP编程:用PHP往完成数据库查询了局缓存
学会了生成静态网页,现在你应该接触一下XML了,恩,XML也了解了,那么AJAX你也得接触接触吧?AJAX完了....然后...有些时分我们但愿削减对数据库的查询来进步程序的功能,由于这些数据不是常常变动的,而是会在很长一段工夫内都不会变更,因而,我们每毗连一次数据库,城市把响应的了局用文件的情势保留起来。好比关于一个商城来讲,我们的商品的数目大概会常常变,可是我们的商品范例和商品的价格这些器材城市在很长的一段工夫内不会变动,假如我们必要频仍的查询它们的时分,就能够利用数据库缓存手艺。缓存的缘故原由
第一点起首看我们一般情形下实行一条SQL查询的开支,我们先毗连数据库,然后筹办SQL查询,接上去发送查询信息,然后获得前往了局,最初封闭数据库毗连,如许的话会占用较多的资本,而我们的PHP程序也由于要守候从数据库中查询而使得呼应速率变慢。
第二点就是在数据库压力较年夜时,好比岑岭时段,这个时分数据库压力年夜,我们就必要把一些数据存储到硬盘上,用文件的情势往读取,如许的做法是用我们的硬盘空间调换数据库的压力,这一点也要看呆板功能。
第三点就是有些数据不发急往更新,好比下面提到的商品范例表,就不会太急于更新,好比我们的用户的中心信息,一样平常也不会容易往修正暗码甚么的,这些内容能够选择用文件的情势往缓存起来。
缓存的完成道理
第一点就是我们要断定什么时候强迫更新内容,最多见的有三种体例就是第一个就是用工夫往触发,我们一般利用工夫戳,第二点就是发明数据库数据被修正,则主动更新缓存,第三个就是野生触发,我们用野生的防水告知信息体系强迫更新缓存内容。
第二点就是我们能够经由过程利用serialize()函数来把从数据库中获得的数据举行序列化,保留为当地文件,然后我们经由过程unserialize来从当地文件中读失信息,所谓序列化就是用特定的体例往存储PHP的值,它会包管部丧失这些值的范例和布局。
实战演示
我们起首把从数据库中读取的数据存进当地文件,代码以下:
然后我们能够翻开这个sqlcache.txt文件,它的内容以下:
a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:5:"level";s:1:"0";s:4:"name";s:6:"辛星";s:3:"pwd";s:32:"bd04fcc97578ce33ca5fb331f42bc375";}i:1;a:4:{s:2:"id";s:1:"2";s:5:"level";s:1:"1";s:4:"name";s:6:"小倩";s:3:"pwd";s:32:"61cb72858be523b9926ecc3d7da5d0c6";}i:2;a:4:{s:2:"id";s:1:"3";s:5:"level";s:1:"1";s:4:"name";s:6:"小楠";s:3:"pwd";s:32:"a3d2de7675556553a5f08e4c88d2c228";}i:3;a:4:{s:2:"id";s:1:"4";s:5:"level";s:1:"1";s:4:"name";s:6:"刘强";s:3:"pwd";s:32:"fcdb06a72af0516502e5fdccc9181ee0";}i:4;a:4:{s:2:"id";s:1:"5";s:5:"level";s:1:"1";s:4:"name";s:6:"星哥";s:3:"pwd";s:32:"866a6cafcf74ab3c2612a85626f1c706";}i:5;a:4:{s:2:"id";s:1:"6";s:5:"level";s:1:"1";s:4:"name";s:6:"辛勇";s:3:"pwd";s:32:"e93beb7663f3320eaa0157730d02dd0c";}}然后我们能够写一个程序从该文件中读取数据,PHP代码以下:
如许我们的$result就是从当地的txt文件中读取的数据,而不是从数据库中读取的数据了,即我们摹拟了缓存的利用。
申明:
1.我们经由过程filemtime来失掉文件的创立工夫,能够用time来失掉如今的工夫,经由过程对照这个差值来决意是不是要更新缓存。
2.我们能够用unlink来强迫的删除文件以清空数据缓存
《PHP+MYSQLWEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点工具的好。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 写的比较杂,因为我也是个新手,不当至于大家多多指正。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
页:
[1]