缓存插件TpCache for Typecho


I. 功能

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

II. 注意

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

III. 使用说明

后台设置

后台设置截图

组件支持

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

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

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

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

缓存更新机制

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

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

评论

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

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

IV. 性能

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

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

V. 下载

TpCache

TpCache

VI. 安装

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

VII. 升级

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

标签: memcache, typecho, plugin, cache

本文由 老高 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。

相关文章

已有 155 条评论

  1. 你好
    使用了该插件后感觉很好,就是有个小问题。当缓存了“文章”页面时,被缓存的文章页面下方的上个评论者的信息也会被缓存下来,当下个评论者访问时,评论区域默认为上个评论者的信息。这个问题很困扰,想了解一下该如何解决。

    1. 之前缓存的页面是整个页面,下一步打算只缓存文章,等我研究一下,插件暂时不要使用

  2. Hao Hao

    博主,最近看到网上您的缓存插件,请问如果是使用fastcgi缓存,有办法实现自动更新缓存吗

    1. nginx的缓存有命名策略,在页面更新的同时直接删除对应的文件即可

  3. 点保存后,出现域名+action/plugins-edit?config=TpCache&_=e80fed8d73fb74c03a07da5053e1cb25

    啥反应也没

    用的是Memcached

    1. 小五 小五

      同样的是提示这个

  4. 老高啊,能不能抽空更新下TpCache这个插件?再反馈个Bug,会缓存别人评论的登陆信息,太恐怖了。评论时直接用上一个评论者的用户信息直接评论。。。

    1. 小五 小五

      点保存后,出现域名+action/plugins-edit?config=TpCache&_=e80fed8d73fb74c03a07da5053e1cb25

      啥反应也没

      用的是Memcached typecho版本 1.0 php版本5.6

      1. 推荐使用 Typecho 开发版 + php 7.1.8 ,现在TE对这些新版的支持没问题的,然后老高的这个 TpCache 也去下载实时打包的代码版本。

        1. 还有有点问题,就是评论的地方

  5. 你好,请问下左下角的字(This page loaded in 0.001739 seconds)不能去掉么,我debug是关着的啊。PHP5.6.30。插件是最新的0.6.2

    1. 忘了说最新版的是0.7.0,最新版的是没这个问题的。

      1. 嗯,谢谢,我前天换了0.7的,确实没问题了。。。

    2. TpCache设置里关闭debug模式时同时勾选清除所有数据,然后确定保存。

      1. 我试过不行....难道你们的这样就可以了么。我现在是直接改源码屏蔽的

        1. 我们确实只需要在设置里关闭debug模式的同时勾选清除所有数据,然后确定保存即可。注意时同时,你要是分两次改是没效果的。

          1. 你清下你浏览器缓存试试吧

          2. 这个我知道的,都试过不行才来问问的。。。我把插件卸载,目录删除了,然后重新安装都不行,不管debug开不开都有那行字。。。

  6. memcached与Redis都配置了,我应该选哪个呢?

    1. 我现在用的是Redis,你去我的博客评论我才发现来自原生评论系统定位评论竟然没有触发缓存更新,难怪你总是另起一层进行评论。你先试试memcached,感觉bug可能会少点。

  7. data data

    redis远程带密码验证的怎么弄~能指导一下吗?谢谢~

    1. 配置文件里改改就OK

    2. 除非你自己会修改插件,照目前这情况,老高他估计也没空完善这个插件或修复现有的一些Bug。

  8. 博主能为Windows用户更新下对WinCache的支持?WinCache是微软特定为php开发的缓存扩展,除了本身能自动缓存php的环境和Web环境,也能利用Object-Cache做Usercache,为JS/CSS或其它文件做Cache,也能为数据库做缓存。如果能加上对Wincache的支持,将很大程度方便IIS的Typecho用户。

  9. 页面底面显示This page loaded in 0.001019 seconds 如何关闭

    1. debug模式

    2. TpCache设置里关闭debug模式时同时勾选清除 所有数据。

  10. 小小7 小小7

    用了这个评论插件后 AjaxComment Typecho Ajax 评论不能刷新。

  11. 请问如果使用Mysql的话该怎么设置?确定不用填写数据库密码吗

    1. mysql的话就用的是系统的数据库

  12. 报一个bug吧,就是在后台评论管理里回复评论或者删除评论没有触发更新。

    1. +10000,复现概率100%。

  13. 老高,你的那个800并发量是如何测试出来的,怎么去测试

    1. ab 命令,自己搜一下

  14. 当搜索时候页面是http://xxxx.com/?s=aaa 会命中首页缓存,导致结果不正确

  15. 大神,我表示memcached的一些功能我不会打开。。。好像就很慢了。。求大神是否可以QQ指导什么的。。

  16. Gali Gali

    有些页面hit 有些就This page needs to be cached! Bug Report Can't find cache!

  17. Gali Gali

    1.0 (14.10.10)版本表示无法启用

  18. 老高,原生评论系统下,登录状态下去发表评论,没有触发缓存更新,每次都要自己手动去插件那清理。

    1. 老高,看一下,我解决了。

      https://www.linpx.com/p/fixed-a-bug-that-could-not-trigger-cache-refresh-tpcache.html

  19. 大黎 大黎

    有个很严重的BUG, 我使用的是mysql缓存, 缓存的时候 会把登陆信息也缓存下来,

    1. 看看是否对登录失效

      1. 大黎 大黎

        这个是解决了部分问题,但如果 曾经有回复过 会有 称呼 email 等记录, 缓存会把 称呼: email: 网站:内容: 都缓存下来。 如果可以,在缓存时不缓存这些信息就好了。 挺厉害的一个插件,我路由器上建的博客,性能有限,并发提高不止一点半点, 唉, 希望能解决! 支持你

        1. 因为开发的时候我的博客用的是多说,所以没有考虑到这个问题,春节期间会解决的

  20. 鬼鬼 鬼鬼

    插件上传 后台不显示 请问是什么问题

添加新评论