页面静态化,其实就是将动态生成的php页面,变成静态的HTML页面,让用户直接访问。有一下几方面好处:

1,首先就是访问速度,不需要去访问数据库,或者缓存来获取哪些数据,浏览器直接加载渲染html页即可。所以可以大大的提高访问效率;

2,从网站优化来分析,搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高。

3,从安全角度讲,静态网页不宜遭到黑客攻击,如果黑客不知道你网站的后台、网站采用程序、数据库的地址,静态网页, 更不容易受到黑客的攻击。

4,从网站稳定性来讲,如果程序、数据库出了问题,会直接影响网站的访问,而静态网页就避免了如此情况,不会因为程序等,而损失网站数据,影响正常打开,损失用户体验,影响网站信任度。(这一天是我最喜欢的,它提高了网站的可用性)。

几种页面静态化方法:

1、真静态。(实实在在的生成.html文件,用户直接访问静态化文件,而不是动态的读取数据库然后生成页面。)

2、伪静态。(对于实时性要求较高的网站,我们可以使用伪静态技术,其提高了SEO质量的同时,又保证了数据的实时性)

下面我们来说一下,另一种比较特殊的静态化技术,利用nosql数据库实现页面静态化。(其实这个应该称作缓存技术了,但是原理和页面静态化相似,所以我觉得也可以称为一种页面静态化的技术)

因为页面是从内存中读取的,所以速度会很快。下面是利用memcache(也可以用其它nosql数据库,如redis... ...)实现该想法的一个小例子。

<?php

$news_id = $_GET['news_id']+0;//新闻id

$news_statis_content = "news_content_".$news_id;//对应键

$expr = 3600*24*10;//有效期,十天

$mem = new Memcache;

$mem--->connect('memcache_host', 11211);

$mem_news_content = $mem->get($news_statis_content);

if($mem_news_content){

echo $mem_news_content;

}else{

ob_start();

//从数据库读取数据,并赋值给相关变量

//include ("xxx.html");//加载对应的新闻详情页模板

$content = ob_get_contents();//把详情页内容赋值给$content变量

$mem->add($news_statis_content,$content, false, $expr);

ob_end_flush();//输出商品详情页信息

}
?>

tips:一般呢,我们不会用nosql这样做,因为对内存的消耗比较大,我们一般用nosql数据库做数据缓存。这里只是一个小思路,活跃一下大脑。

使用nosql实现页面静态化的一个小案列的更多相关文章

  1. 页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)

    案例需求: 使用PHP缓存机制完成新闻管理系统的页面静态化数据库表 ecs_article (新闻表)因为新闻这些信息,并不是对实时性要求高,本身这个新闻比较稳定,内容也比较固定,所以我们考虑: 当第 ...

  2. JavaWeb页面静态化之使用freemarker模板生成一个html静态页面

    题外话:       页面静态化(展示数据从JSP页面变成HTML页面)实现方式-->模板技术   从本质上来讲,模板技术是一个占位符动态替换技术.一个完整的模板技术需要四个元素:①模板语言(使 ...

  3. PHP实现HTML页面静态化

    随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化.一般情况下会从以下方面 ...

  4. 页面静态化技术Freemarker技术的介绍及使用实例.

    一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 ...

  5. JSP页面静态化

    Ps:好久没写博客了,不是我太懒,是因为苦逼的我出差去上海了,天天加班 刚回成都.... 今天说说jsp页面静态化,知道静态化的朋友都不陌生,说白了就是访问后缀是html 而不是jsp. 没听说过静态 ...

  6. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)

    页面静态化的技术实现有两种方式 使用PHP自己的缓存机制 先说明一下OB缓存的机制. ob1.php 代码:说明的ob的各个用法->项目中 ☞ 如何打开ob缓存 ①     配置php.ini ...

  7. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(二)

    一:页面静态化 几个概念: 静态网址:(比如:http://localhost/abc.html) 特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问 ...

  8. 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)

    一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量 ...

  9. php页面静态化技术;学习笔记

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. 调试https接口

    1. wireshark的 pre master key只能使用在浏览器上,现在mac电脑不支持chrome,只有firefox才有SSL的日志提供给wireshark. 2. wirshark不能解 ...

  2. Eclipse + Maven 安装配置

    1. 下载 http://maven.apache.org/download.cgi 2. 解压 3. 配置环境变量 MAVEN_HOME = D:\Software\apache-maven-3.5 ...

  3. echarts实现全国地图

    1.首先我没有按需引入echarts,我是全局引入的,所以说在node_modules中有 这个china,你只需要在你的页面引入即可 但是按需引入echarts 的 项目中node_modules中 ...

  4. FCN的理解

    FCN特点 1.卷积化 即是将普通的分类网络丢弃全连接层,换上对应的卷积层即可 2.上采样 方法是双线性上采样差 此处的上采样即是反卷积3.因为如果将全卷积之后的结果直接上采样得到的结果是很粗糙的,所 ...

  5. laravel架构

    1.Laravel 5.1 中的异常处理器和HTTP异常处理实例教程 http://laravelacademy.org/post/1867.html 2.laravel 集成sentry,sentr ...

  6. Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

    很明显应该是HADOOP_HOME的问题.如果HADOOP_HOME为空,必然fullExeName为null\bin\winutils.exe.解决方法很简单,配置环境变量,不想重启电脑可以在程序里 ...

  7. List<String> 2List <Long>

    public static List<Integer> CollStringToIntegerLst(List<String> inList){ List<Integer ...

  8. java空心菱形

    图 1 要输出如图1所示的菱形,第一反应是看看这个菱形有什么特点.在草稿纸上比划了半天,将图1转化成了图2用数字表示的图 图 2 比较图1和图2发现有以下特点: (1)图2中的每一个数字代表图1中每个 ...

  9. d'jang基础

    1,建立一个名为guest的django项目,django-admin startproject  guest 生成一个guest文件夹,包含一个guest文件夹和一个manage.py cd gue ...

  10. win10系统进入BIOS

    按住shift+重启,在重启过程中界面会出现“疑难解答”,点击后,在新的界面点击“高级选项”,之后在新界面上点击“UEFI固件设置”,最后点击重启,重启过程中点击Delete键,就进入了BIOS界面了 ...