PHP DUXCMS如何开启页面缓存

html-css020

PHP DUXCMS如何开启页面缓存,第1张

1.页面缓存。页面缓存指之前加载过的页面以文件方式缓存在服务器中,在一段时间内再次加载相同页面时无需重新执行页面逻辑直接加载静态页面。rubyPHP的页面缓存是自动进行的,在config/tpl.php中可配置是否启用缓存以及缓存文件的有效期。当然这仅仅是全局设置,在调用视图时可重新指定是否启用缓存以及缓存有效期。

2.SQL缓存。sql缓存指之前执行过的查询sql语句以及他的结果缓存在内存中,在一段时间内用相同的sql语句执行查询操作时不经过数据库直接返回内存中数据。rubyPHP使用Redis以键值方式缓存sql语句以及他的对应结果。rubyPHP能够在php7上完美运行。(附:关于windows php7 redis 扩展的下载参照我的另一篇博客:http://blog.csdn.net/fanghailiang2016/article/details/51396649)。rubyPHP重写了mysql_query以及mongo_query方法,在执行查询sql查询语句时会优先加载未过期的缓存数据。与页面缓存类似,sql缓存的全局配置路径为config/redis.php,在具体执行sql语句前可重新执行是否使用缓存以及缓存有效期。

3.读写分离。读写分离是建立在主从同步基础上为了减轻服务器压力,将查询语句转移到从服务器上执行的解决方案。rubyPHP重写了mysql_query,mongo_query函数,除了对查询语句进行内存级缓存的优化,同时也将查询语句放到了从服务器上执行。mysql的主从配置文件路径为config/mysql.php。

4.html压缩。html压缩配合页面缓存,前者降低了服务器端压力,后者减少了输出内容所占空间,将html文件中的空格换行等进行压缩,减少了输出文件的大小,在一定程度上保护了html的安全。

rubyPHP在代码结构上模仿CI,在功能上模仿thinkPHP。

rubyPHP的功能包含以下几方面:

1.使用了thinkPHP的M方法操作数据库。对于一些简单的sql语句无需手工写,用熟悉的M()->where()->limit()->find()这样的语法即可完成。曾经面试有人问我为什么thinkPHP的M方法能够进行连续操作,现在终于明白是使用了单利模式。

2.屏蔽了数据库的差异。M方法的另一个优点是用来组件sql语句,对高层屏蔽数据库差异。当然,对于复杂的查询,M方法是做不到的,此时可以使用已被重写过的mysql_query以及mongo_query执行你的sql语句。

3.自定义路由。这一点模仿了CI的route.php,将url同控制器的映射关系写到一个配置文件里。

不足之处:

view文件不支持变量循环输出。目前的解决方案是使用angularjs调用接口在页面输出内容。框架示例程序便是一个使用angularjs的和bootstrap的界面。

在浏览网页的时候,浏览器需要把网页上的内容,包括网页HTML,CSS,JS,FLASH和图片等下载到本地,然后把它们显示出来。如果网页上的内容是固定的,下载速度也不是你我能控制的,但下载的大小则是可以控制的,只需要你再传送的过程中先把内容压缩一下即可。

对于一般的HTML,CSS和JS文件,GZIP的压缩比率达50%到80%,节约的流量是非常惊人的。

动态内容压缩

动态内容指动态脚本比如PHP生成的内容,比如WordPress产生的内容均为动态脚本内容。对于动态脚本的压缩方式有两种,一种是ob_gzhandler,一种是zlib.output_compression。前者几乎所有服务器都支持,只需要在WordPress后台options->Reading->WordPress should compress articles (gzip) if browsers ask for them打开GZIP传输即可。而后者是一个PHP模块,效果更佳,因为它是边生成,边压缩,边传输的,效率和速度都更好。但这个是PHP的一个模块,不是所有服务器上的有这个模块。

静态文本压缩

但对于另外一些需要压缩的静态文本,比如html, css, javascript文件等。相应的静态文本压缩的Apache模块有两种,GZIP和DEFLATE,后者更好,不过这都没啥选择,完全看服务器是否提供,个人无法配置,比如使用最多的Bluehost和Dreamhost都不支持。

静态文本调用PHP压缩模块实现GZIP压缩效果

如果服务器不提供对于静态文本的GZIP压缩模块,唯一的出路是通过调用PHP。好处是除了在目录下添加一个文件和修改.htaccess之外,不需要对别的代码作任何修改,所有的js,javascript的压缩都自动生效。

一、html代码转换成php代码

首先,使用dreamweaver等类似软件,将需要进行转换的html代码整理出来

其次,使用站长工具里面的html转换功能将html代码转换成php代码,如图所示:

需要转换的html代码

转换后的php代码

最后,将转换的后php代码放置到需要实现的php页面之后,即可实现php输出html代码。

二、如何将php代码转换成html代码

简单解决方法有2种:

方法一:将php页面生成html页面,直接查看html页面的源码,即可得到想要的html代码。

方法二:使用站长工具将php代码转换成html代码。具体详细步骤就不细说了。

想必看到此处,也许有不少人不知道为什么要做html与php的转换吧?html与php有什么作用呢?

一、使用php语言制作网页时,方便输出自己想要的html代码,减少代码的编写量,毕竟我只需要写一遍简单的html代码,即可得到php代码。(当然只是对于php新手来说,或许老手已经习惯了吧)

二、方便看不懂php代码的人也可知道这些php代码具体输出的是什么html代码,其实就是相当于在php代码中剔除了<?php,?>,echo,"",\n等字符而已,便于阅读吧!

三、最重要的一点,只为方便对此有需求的人,对此没有需求的人,其实任何作用都没有!

最后,学习php语言的小白们,如何输出html代码,不放先借用工具查看输出规则哦!有助于加快学习php的进度!当然,涉及数据库方面的输出,也需要用到html代码制作页面样式,所以,学习html代码与php代码如何转换,作用不可忽视!除非你只是纯输出数据库里面的数据而已!