前台的程序每个功能都要注意网站的优化。
网站优化的选择?
TP中自带缓存功能,可以把一个页面配置一定的时间。(配置一下即可)
1. 不经常发生变页面生成静态页(指定一个过期时间,过期之后自动重新生成页面)
2. 静态页面实时变化的数据使用AJAX来获取
3. 实时查询数据的功能如何优化。(网站启动时先把数据库中的数据导入到memcache中,这样网站中的程序就只操作memcache不操作数据库,然后定期把memcache中的数据同步到数据库中)
a) 一般网站只把频繁访问的小数据放到memcache中操作(session,购物车中的数据,商品的库存量等等)
b) 使用memcache的问题:如果服务器出现故障重启,那么memcache中的数据就丢失了。怎么解决?
至少有一台备份用的memcache服务器,每次操作数据时,把在备份的memcache服务器上保存一份,这样即主服务器坏了,在备份服务器上也可以还原数据,备份服务器和主服务器同时出故障机率不高。
redis也可以做内存服务器。redis可以把数据自动回写到硬盘,缺点是慢,因为每次要写硬盘,一般是一秒写一次,在1秒数据如果还没写到硬盘就会丢失。一般用redis也要搭成主从服务器,主服务器上不写硬盘,让从服务器每次把数据写硬盘。
4. 有些功能无法使用memcache(数据量太大,没有那么多memcache服务器)。只有靠数据库集群(主从复制、读写分离),如:商品搜索的功能。
5.
但如果直接使用TP自带的缓存性能不如直接访问静态页快,因为访问的其实还是TP中的index.php文件,然后再由TP加载静态页多了一层index.php文件。
所以使用TP的优缺点?
优点:所有的功能都有现成的,实现起来非常快,节省开发速度来写的代码量。
缺点:因为框架中在生成各种模型控制器等类的对象,导致一个简单的功能要执行很多操作,性能很慢。
总结:一般的网站(对性能要求不高,访问量不大的网站使用TP可以节省开发时间和成本),但如果是访问量比较大的网站不适合使用TP。
在任务计划中设这个脚本定期执行:
如果我们直接访问静态页,就无法触定期自动更新页面的代码了。除非我们在后台添加一个生成的按钮,定时有人手动点一下生成新的静态页。
如何即能直接访问静态页,又可以让静态页自动更新?
答:写一个重新生成静态页的脚本文件,然后配置服务器(window,linux),定期自动执行这个脚本即可。
如何定期执行一个PHP写的脚本?
创建一个bat文件