功能

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

注意

  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. 安装好了 配置好了 没有任何效果啊

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

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

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

  5. Shao Liao Shao Liao

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

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

  6. Jenson.Chen Jenson.Chen

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

    1. 后台里有关闭debug模式

  7. lukemin lukemin

    有没有兴趣开发一款 修整typecho cid的插件?

  8. chakhsu chakhsu

    发现一个bug,自带的评论框在评论刷新的时候,会把评论的用户名、邮箱和网址一起缓存起来,下一个人评论的时候会发现评论里有内容.

    1. 这个有时间了解决

  9. chakhsu chakhsu

    url/?s=搜索内容
    在不开启缓存的时候,可以伪静态转为 url/search/搜索内容/
    开启缓存,无论是否开启搜索页是否缓存,都无法转为 url/search/搜索内容/ ,没有实现页面的跳转

    1. chakhsu chakhsu

      不好意思,已经解决了,是主题设计的问题。

  10. This page needs to be cached! Bug Report Hit! php7+nginx+memcached 开了ssl

  11. 加个验证功能吧 远程链接要验证的

    1. 以及可以检测一下当前环境 显示时候自动去掉不可用的缓存方式

    2. 这个就麻烦一点了,等有空了再整,自动判断缓存环境简单点,可以做

    3. 以及可以检测一下当前环境 显示时候自动去掉不可用的缓存方式

  12. 不错 不过把设置的表单分离一下 然后加个用户密码验证的设置吧 如果是远程链接又有验证信息的话

  13. 请问支持SAE的memcache吗?

    1. This page needs to be cached! Bug Report Warning: Memcache::get() [memcache.get]: No servers added to memcache connection in usr/plugins/TpCache/driver/typecho_memcache.class.php on line 55 Can't find cache! Warning: Cannot modify header information - headers already sent by (output started at /data1/www/htdocs/443/imnpc/1/usr/plugins/TpCache/Plugin.php:202) in var/Typecho/Response.php on line 178

    2. 本地测试好mem正常运行着吗?

    3. 理论上是支持的,如果有bbug,可以帮我debug一下吗?

  14. 刘明野 刘明野

    点设置 500 Server Error

  15. 发现一个bug,自带的评论框在评论刷新的时候,会把评论的内容一起缓存起来,下一个人评论的时候会发现评论里有内容

  16. 不能缓存了文件啊?

  17. 世界之窗浏览器报错:Warning: Cannot modify header information - headers already sent by (output started at /data1/www/htdocs/895/xxxi/1/usr/plugins/TpCache/Plugin.php:202) in var/Typecho/Response.php on line 178 开启首页或feed就这样,360急速不会别的没试。

  18. 你好,如何判断缓存是否生效呢?

    1. 谢谢,不过好会影响ajaxcomment,即便不缓存页面。可以提交成功,不过前端一直显示loading

    2. 后台开启debug

  19. 【干货】缓存插件TpCache for Typecho评测,附评测用的脚本 https://tntsec.com/index.php/archives/423.html

    1. 不错,推荐大家去看看

  20. 老高需要设置缓存目录啥的吗?我开启了,然后也没报错。

添加新评论