使用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数据库做数据缓存。这里只是一个小思路,活跃一下大脑。

转载于:https://www.cnblogs.com/573734817pc/p/10108826.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值