功能

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

注意

  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

已有 209 条评论

  1. 一个服务器,多站点同时使用memcached就会报错。

  2. 评论的邮件回复出现问题。我能收到访客的评论提醒,但是我回复的时候,访客收不到。

  3. 1.2版本还合适用吗?

  4. 开启 Redis 缓存评论显示 Call to a member function delete() onnull 怎么办?

  5. 用了缓存插件之后加密文章输入密码也打不开。

    1. 这个确实不支持,我有空改改吧

  6. 博主你好,开了插件后搜索不能用了,搜索链接原来是xxx.com/search/* 开缓存后链接变xxx.com/?s=*

    1. 我记得有个白名单什么的,有空我看看吧

  7. 时隔2年 还是那么好用,起飞~

  8. 诺坎普第一球探 诺坎普第一球探

    请问这个支持redis密码吗?redis安全漏洞很多的,如果不支持密码会不安全。

    1. 这里,需要注意的是,插件本身是不支持密码访问的。由于阿里云的Redis服务需要密码访问,就简单的修改了一下typecho_redis.class.php文件(部分代码):

      复制代码
      public function init($option)
      {
      try{
      $this->redis = new Redis();
      $this->redis->connect($this->host, $this->port);
      $this->redis->auth('redis密码');
      }catch (Exception $e){
      echo $e->getMessage();
      }
      }

      由于博客是支持https的,所以选择了开启支持SSL。

    2. 看代码是不支持,后台配置也没见到有设置密码的地方,typecho_redis.class.php文件里面有具体的内容,你看下。其实可以手工加上去吧?然后redis不要开放外网访问,外网的端口禁用掉

  9. 请问redis要怎么设置,我下载后报错了

  10. 我用了这个插件后打开博客显示空白页面,这是什么问题

  11. @老哥,开启了插件遇到一个问题,求解决

    用户a发表评论后,用户b打开页面,评论里留存的信息还是a的,如昵称,邮箱。需要在插件后台手动清除全部数据才恢复正常,我网站使用的cookie保存用户信息。

  12. 影翼 影翼

    老高,这款插件我在最新的typecho上开启时出现了500报错无法开启,这个这是怎么一回事呢

  13. 你好老高大神,现在这个缓存有个BUG很棘手,就是如果我文章加密了,输入密码后就会出错,希望你帮忙之中给看看,能不能给解决一下。

  14. 有BUG 有BUG

    评论会出现500,但是一直转圈圈,如图https://ae01.alicdn.com/kf/H5f13b71cd14f4224928f6bf151249fb7B.jpg
    虽然刷新页面有评论,F12查看,发现post评论的页面时500,关闭插件再评论,就正常显示评论成功。

  15. 缓存插件用着太爽了
    不过发现一个小问题,删除评论的话不会自动更新缓存,需要手动清理下缓存

  16. 博主,,今早禁用插件之后启用就出现这串英文,Connection refusedRedis server went away
    这个是什么原因导致的呢??

    1. 禁用了应该就没有相关逻辑执行了,看看是不是其他插件导致的?

  17. genghao genghao

    这个插件虚拟主机可以使用吗?如果可以怎么判断运行成功了呢?

  18. 也是评论缓存的问题

    1. 能不能提供一下环境,目前我本地无法复现

  19. 怎么可以确实缓存是否生效了呢?
    有没有输出个header?

  20. 测试评论

添加新评论