功能

减缓网站并发压力而开发的缓存插件。

注意

  1. 支持MemcacheRedisMysql三种驱动。
  2. 非js方式的访问统计插件会失效
  3. BUG请在缓存插件TpCache for Typecho页汇报

使用说明

后台设置

后台设置截图

组件支持

请确保你的服务器memcache套件工作正常。

目前老高提供了phpmemcachememcached的支持,请选择对应的驱动。

memcached配置请参考Linux服务器配置memcached并启用PHP支持

Redis配置请参考Linux服务器配置Redis并启用PHP支持

缓存更新机制

目前以下操作会触发缓存更新

  • 来自原生评论系统的评论
  • 后台文章或页面更新
  • 重启memcached
  • 缓存到期

评论

原生评论简单测试过,没有大问题。

不过既然使用缓存了不如直接使用第三方评论系统,如多说。

性能

在老高的烂主机上随便就能跑到保守800的并发(CPU占用不到70%),什么概念呢?

理论上支持每天69120000(60*60*24*800)的PV。

下载

phpgao/TpCache

安装

请将文件夹重命名为TpCache。再拷贝至usr/plugins/下

升级

请先禁用此插件后再升级,很多莫名其妙的问题都是因为没有先禁用而直接升级导致的!

标签: memcache, typecho, plugin, cache

已有 188 条评论

  1. 还有,额。。。我比较笨,怎么才能看出来缓存效果呢?

    1. 现在好了没?

    2. 好了,一切正常,之前并发4000负载10,现在并发4000负载0.3

    3. 原来是我搞错了。。yum安装的需要手动启动。。不好意思service memcached start

    4. 执行目录和禁用函数关掉了。。并没有用

    5. This page needs to be cached! Bug Report Can't find cache! 我还装了opcache,做了php执行目录限制,限制为网站目录和tmp目录,然后禁用了一些函数,我该怎么排查?

    6. debug打开就行

  2. 不错 学习了!

  3. Jr Jr

    Fatal error: Call to undefined method Typecho_Request::getUrlPrefix() in /home/jrblog7j3robhlyosg/wwwroot/usr/plugins/TpCache/Plugin.php on line 407 测试了一下

    1. Jr Jr

      te 0.9的

    2. 刚才看了,插件使用了1.0的新方法。。

    3. Jr Jr

      用的阳光的多说插件所以没有升级到1.0,加上现在是单页的主题,所以现在用的Shion 写的那个FileCache 文件缓存插件,挺好用的,生成静态文件的方式,看到你这里这个插件,试下,看那个效率高些

    4. 你的TP什么版本?

  4. 成功,过来拜谢。

    1. 还有提升空间的

    2. This page loaded in 0.000569 seconds,这个咋滴?

    3. 看评论

  5. 漏网小鱼 漏网小鱼

    博主,有时候页面最底部会出现this pages loads........这些字样的,不能关闭的?

    1. 漏网小鱼 漏网小鱼

      我用的就是0.6.2啊,在下载一次?

    2. 漏网小鱼 漏网小鱼

      搞定了,嘎嘎

    3. 点那个DOWNLOAD ZIP

    4. 漏网小鱼 漏网小鱼

      我用的是最新版的,This page loaded in 0.000666 seconds 这个

    5. 更新一下试试

    6. 我把最新的推上去了,修改了一些逻辑,但是没有打tag,你会下载吧?

  6. 启动不了插件。显示 Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/...../usr/plugins/TpCache/Plugin.php on line 134

    1. 请更新v0.6.2

    2. http://weburls.net/php.php

    3. 这由不得我啊,只能由空间商决定

    4. 你的PHP版本?

    5. 果然,你的PHP版本有点低,建议升级5.3+

    6. 好的,好久没折腾博客了。

    7. Jr Jr

      舞哥,空间支持PHP版本切换的,你去后台看下,有个php.ini自定义,不开启php.ini自定义,PHP版本就5.2的,开启支持5.2到5.5的版本切换

  7. 页面总是显示 This page needs to be cached! Bug Report Hit! 是不是不正常?

  8. 支持,mark一下。

  9. 有用~十分感谢

  10. 启用后发生错误。

    1. 原来评论的CSS设为隐藏不就行了。

    2. 解决了,启用memcache后好了,还有一个问题,你的博客的多说评论怎么做到查看源代码还能看到评论的?这样有利于搜索引擎抓取。

    3. 你的服务器环境是否支持memcache?

  11. 1.0 (14.10.10) 我是这个版本 后台点击启用 直接空白页面

    1. 是的,5.2的语法不太一样

    2. 修改了 还是一样 我估计我是不是php版本也低 我也是5.2.17

    3. 请将文件夹重命名为TpCache。再拷贝至usr/plugins/下。

    4. 谢谢 我试试

    5. 请更新v0.6.2

    6. 搞定了 真是谢谢了

  12. 博主,这个文章、评论更新后,不会马上更新缓存的啊?

    1. 不仅会,而且顺便把首页的缓存也更新了!

  13. 老高,你这个平评论的客户端信息具体怎么弄的能教一下吗?

    1. 感谢~我去研究一下~

    2. 多说+css+js,教程在此 http://www.phpgao.com/duoshuo_user_agent.html

  14. 支持

    1. 可以

    2. 师傅啊,我自己琢磨出来也安装了个tpyecho的站

    3. 谢谢!

  15. asknew asknew

    body后面第一句就是“This page needs to be cached! Hit!”,搞得页面第一句话也显示成这样,很刺眼啊老高

    1. 最近在debug,等差不多了我就关了

  16. 测试回复

  17. hu hu

    很不错的博客

  18. 老大,用了这个插件发布评论后,页面直接打不开,但是后退后能看见发布的评论,什么原因?

    1. 时间功能加上了,等下个版本再release吧

    2. 可以了。redis这个加上可以用了吗?话说应该加个响应时间在调试文字那。

    3. 好的,我试试。

    4. 评论成功的,但是点按钮后会变成,http://域名/3.html/comment 这样的

    5. 我刚才更了,你试试最新版,记得升级前先禁用

    6. 评论成功了没?

    7. 你用的是不是最新版?

  19. This page needs to be cached! Bug Report Hit! 这个显示是代表缓存成功了?

    1. 有Hit才表示成功

  20. ClayMore ClayMore

    怎么知道自己安装的驱动是什么 Memcached Memcache Redis 文件

    1. 目前仅支持Memcached Memcache,后台可以自己选择。 Redis正在写。 顺便吐槽一下你的chrome

添加新评论