这个插件 作者自己在用 demo一下 速度不错 应该是ok的

不知道性能跟wp相比如何 现在的WP是用的W3 Total Cache 用的Memcached Redis 加速 , 如果性能比wp好考虑下一个博客用Typecho

以下原文 摘自  https://www.shuyz.com/posts/use-typecho-redis-cache-to-speedup-typecho-blog/

 

 

前几天在免费资源部落上看到一篇文章用Redis缓存来给WordPress站点加速-适用于Apache和nginx。正好我用的Typecho博客没有相应的缓存插件,于是决定写一个Typecho的Redis缓存。

经过一下午的折腾之后,Typecho的Redis缓存前端终于完成了,代码托管在github,压缩包下载:Typecho Redis Cache

部署Typecho Redis Cache

部署条件

在将部署Typecho Redis Cache之前,请确定服务器满足以下几个条件:

  • PHP >= 5.3
  • Redis
  • Apache或Nginx服务器
  • Typecho

部署步骤

  1. Typecho Redis Cache使用 Credis 库作为Redis的php客户端,点此下载 。解压后将 Credis 目录上传到 Typecho 根目录;
  2. 将Typecho根目录的index.php文件重命名为index_origin.php
  3. 根据服务器配置Typecho Redis Cache index.php文件的redis_hostredis_portuserkey三个参数,然后将index.php上传到Typecho根目录。
    1
    2
    3
    4
    5
    /** redis connection parameters */
    $redis_host = '127.2.172.129';
    $redis_port = '15001';
    /** the key used to purge cache */
    $userkey = 'abc123';

最后的Typecho根目录看起来应该是这样子的:

1
2
3
4
5
6
├── index.php             Typecho Redis Cache 前端脚本         
├── index_origin.php  Typecho 原来的index.php
├── Credis                    Credis 库(**注意是大写**)
    ├── Client.php         Credis 库文件
    ├── other files
├── Typecho其它文件夹和文件

这时候访问网页应该可以看到效果了,为了方便调试,网址后面最后加上?debug=true参数,这样就可以在网页源代码看到调试信息。

缓存管理

Redis的缓存是不会自己清除的,需要用户手工清理。清理时,只要在打开的任意一个网页上加上userkeyaction参数就可以了。userkeyindex.php文件配置,action可以是purgepagepurgeall

注意: 清除缓存的结果调试信息在页面的头部,其它调试信息在页面的尾部。调试信息为html注释,需要查看网页源代码才能看到。

非缓存页面

以下类型的页面不会建立缓存:

  • /admin/ 目录下的所有页面
  • 搜索结果页面
  • 404页面
  • sitemap.xml

缓存效果测试

页面生成时间测试

  • 没有加载缓存时,首页的生成时间为0.2秒(Typecho的轻巧果然名不虚传!):

822433884.png822433884.png

  • 使用Redis缓存时,首页的生成时间为0.001秒,整整快了200倍啊!

2321680259.png2321680259.png

可以点击下面的链接自行测试,打开网页后查看源代码就可以看到页面生成时间等调试信息了。

并发性能测试

0.2秒和0.001秒的差别是看不出任何效果的。但是随着并发访问量加大,多个php页面的执行将造成服务器CPU、内存等资源的大量消耗,从而使页面执行时间加长,网页加载速度明显变慢;而使用了Redis缓存之后,服务器只是从缓存里取出数据,并不需要耗费太多资源,所以网页加载速度变化不大。

为了验证这个说法,我们使用loadimpact网站进行并发测试。

没有使用缓存时,页面的加载时间(蓝色线)随着访问量的上升明显增加,到50个并发的时候访问时间打开一个网页需要接近10秒;
745831596.png745831596.png

使用Redis开启全站缓存后,页面的加载时间稳定在1~2秒,访问量的上升并没有导致网页加载变慢。Redis缓存对网站并发能力的提升效果非常显著。
3023991238.png3023991238.png

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。