功能

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

注意

  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

已有 207 条评论

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

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

    1. debug模式

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

  3. 小小7 小小7

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

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

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

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

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

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

    1. ab 命令,自己搜一下

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

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

  9. Gali Gali

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

  10. Gali Gali

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

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

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

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

  12. 大黎 大黎

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

    1. 看看是否对登录失效

      1. 大黎 大黎

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

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

  13. 鬼鬼 鬼鬼

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

  14. [...]body.custom-background { background-image: url('https://zhuticool.com/wp-content/themes/Git-master/css/img/bg.png'); background-repeat: repeat; background-position: top left; background-attachment: s[...]

  15. 安装好了 配置好了 没有任何效果啊

  16. 老高你好:
    我下载安装了你的typecho缓存插件 redis也安装了 php也安装了redis的拓展 插件安装设置正常 可是我翻redis里面所有的库 没有发现缓存的key 开启debug模式了 也没有报错 我的网站地址https://wujunze.com 麻烦你帮忙看看 谢谢

  17. 老高你好:
    我下载安装了你的typecho缓存插件 redis也安装了 php也安装了redis的拓展 插件安装设置正常 可是我翻redis里面所有的库 没有发现缓存的key 开启debug模式了 也没有报错 我的网站地址https://wujunze.com 麻烦你帮忙看看 谢谢

  18. 老高 请问 用redis作为缓存驱动 用的是哪个库呢? 0库里面也没有key 1库里面也没key

  19. Shao Liao Shao Liao

    为什么我在redis里面看不到缓存的key?

    1. 我也是没有看到缓存的key 不知道用的哪个库 看代码了 代码里面没select库 应该默认是0库 可是0库里面也没有key 是不是缓存根本就没有起作用?

  20. Jenson.Chen Jenson.Chen

    开启缓存页面后面多了This page loaded in 0.001322 seconds 开启后面显示 debug Cache updated! 怎么去除啊

    1. 后台里有关闭debug模式

添加新评论