使用nosql实现页面静态化的一个小案列
页面静态化,其实就是将动态生成的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实现页面静态化的一个小案列的更多相关文章
- 页面静态化3 --- 使用PHP页面缓存机制来完成页面静态化(下)操作一个案例(新闻管理系统)
案例需求: 使用PHP缓存机制完成新闻管理系统的页面静态化数据库表 ecs_article (新闻表)因为新闻这些信息,并不是对实时性要求高,本身这个新闻比较稳定,内容也比较固定,所以我们考虑: 当第 ...
- JavaWeb页面静态化之使用freemarker模板生成一个html静态页面
题外话: 页面静态化(展示数据从JSP页面变成HTML页面)实现方式-->模板技术 从本质上来讲,模板技术是一个占位符动态替换技术.一个完整的模板技术需要四个元素:①模板语言(使 ...
- PHP实现HTML页面静态化
随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化.一般情况下会从以下方面 ...
- 页面静态化技术Freemarker技术的介绍及使用实例.
一.FreeMarker简介 1.动态网页和静态网页差异 在进入主题之前我先介绍一下什么是动态网页,动态网页是指跟静态网页相对应的一种网页编程技术.静态网页,随着HTML代码的生成,页面的内容和显示效 ...
- JSP页面静态化
Ps:好久没写博客了,不是我太懒,是因为苦逼的我出差去上海了,天天加班 刚回成都.... 今天说说jsp页面静态化,知道静态化的朋友都不陌生,说白了就是访问后缀是html 而不是jsp. 没听说过静态 ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)
页面静态化的技术实现有两种方式 使用PHP自己的缓存机制 先说明一下OB缓存的机制. ob1.php 代码:说明的ob的各个用法->项目中 ☞ 如何打开ob缓存 ① 配置php.ini ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(二)
一:页面静态化 几个概念: 静态网址:(比如:http://localhost/abc.html) 特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问 ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)
一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量 ...
- php页面静态化技术;学习笔记
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- spark on yarn任务提交缓慢解决
1.为什么要让运行时Jar可以从yarn端访问spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在 每一次我们运行的时候,如果 ...
- sendmail 发送邮件 zabbix 自定义报警
配合zabbix 触发脚本 达到自定义报警目的 #!/bin/bash # Created : 2015.12.08 # Updated : 2015.12.08 # Author : sanmuya ...
- [LeetCode] 744. Find Smallest Letter Greater Than Target_Easy tag: **Binary Search
Given a list of sorted characters letters containing only lowercase letters, and given a target lett ...
- vue使用md5加密
import crypto from 'crypto' export default { name: 'HelloWorld', data () { return { msg: 'Welcome to ...
- windows server 2008 R2如何更换系统界面语言/中文换英文
下面我们来讲解一下如何将中文系统转化成日文.韩文.英文等其它语言界面的系统. 以windows server 2008 R2系统中文变英文为例: 1.到微软官方下载:Windows Server 20 ...
- Centos6.5建立本地YUM源
很多情况下公司的服务器是不允许连外网的,那么安装软件的时候就很不方便了,这里就需要建立一个本地YUM源了. 文件位置:/etc/yum.repos.d/ 后缀一定是.repo结束. 下面我们搭建 ...
- 如何快速知道一个颜色的rgb值
1.如果你想使用某种颜色缺不知道rgb值是多少,可以将一张图片用系统自带的画图(我的系统是win7)0工具打开,点击编辑颜色就会出现调色板,然后就可以选择查看具体颜色的rgb值了 2.如果你想知道某个 ...
- andorid CmakeLists
# cmake要求低版本 cmake_minimum_required(VERSION 3.4.1) # Creates and names a library, sets it as either ...
- the import XXXX cannot be resolved 解决方法
明明XXX类完全没问题 突然就报错了 解决方法: 原因一:一个项目引用了兄弟项目的类,报错The import XXX cannot be resolved 解决办法:需要在引用的兄弟项目右键选择Ma ...
- C++时间类型详解( time_t 和 tm )
原文:http://blog.csdn.net/love_gaohz/article/details/6637625 Unix时间戳(Unix timestamp),或称Unix时间(Unix tim ...