给typecho加上txt缓存功能,减缓网站并发压力(spimes篇)

之前觉得分类栏目页比较单调,想给不同的栏目页加上本栏目的最热,最火文章显示,但是后面做出来,流量大的时候,直接爆卡,网站打都打不开,毕竟typecho定位为小博客类型,发文都默认没有封面图的,要实现那么多文章展示的内容,确实有点勉强……

之前文章也提到过

用PHP去实现数据库查询结果缓存,减少数据库连接与执行的负载

有些时候我们希望减少对数据库的查询来提高程序的性能,因为这些数据不是经常变更的,而是会在很长一段时间内都不会变化,因此,我们每连接一次数据库,都会把相应的结果用文件的形式....

有些时候我们希望减少对数据库的查询来提高程序的性能,因为这些数据不是经常变更的,而是会在很长一段时间内都不会变化,因此,我们每连接一次数据库,都会把相应的结果用文件的形式保存起来。

比如对于一个商城来说,我们的商品的数量可能会经常变,但是我们的商品类型以及商品的价格这些东西都会在很长的一段时间内不会变更,如果我们需要频繁的查询它们的时候,就可以使用数据库缓存技术。

所以,就想在主题上实现看看

1,在指定的文件夹建立缓存txt文件

2,后台生成热门文章数据,并写入txt文件

3,前端页面相对应位置判断是否有缓存文件,有则读取显示,没有就调用主题热门文章函数显示

4,后台配置文章实时控制缓存txt文件,可更新,可删除,可关闭

5,完毕

涉及到的相关代码:

if(file_exists($filemember))//判断文件 是否存在  
file_get_contents//获取文件的内容
rtrim($txtcache, "[n]");  //以[n]作为判断为下一行
list($imgUrl,$usernanme,$userpnum) = explode("|", $m);  //读取文件的时候,以|把字符串分成不同的变量
file_put_contents('sidermember.txt',''); //清空文件的内容
$mess = "{$imgUrl}|{$usernanme}|{$userpnum}[n]"; //把变量+|,变成字符串
writemessage($filename, $mess);//向文件写进内容  

并非整个网站都要实现缓存功能,毕竟最新文章还是要实时显示,仅仅是针对一些数据,不是经常变更的地方来优化

整体上实现博客(动态)+门户(静态)功能去优化整站……

如图:(整合spimes主题)

QQ图片20200709155127.png

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/522
2 条评论
9.2k

发表评论

已有 2 条评论

  1. 孙华zizdog     Android /    FireFox
    2020-11-18 20:58

    居然有流量大的时候。

  2. 听风     Win 10 /    Chrome
    2020-07-16 09:22

    :酷:站小,无人看

!