让 typecho
支持 memcached
和 redis
缓存器
了解详情: https://github.com/gogobody/TpCache
原插件地址: https://github.com/phpgao/TpCache
Tepass 说明:需要先启动本插件,在启动tepass 插件,否则 tepass 文章内付费会被缓存而失效。
插件适配了 Tepass ,默认不会对 Tepass 付费文章缓存。
插件有两种缓存机制:
采用全局缓存的话,所有非js实现的功能全部失效,悉知!此方法对于ip量大的或者由于服务器 TTFB 时间长的很有效果!但是需要手动去修改代码,更改一些机制由js实现。
例如:基于php cookie的阅读次数失效,基于typehco cookie 的评论人信息缓存失效,这些都可以通过js解决。
插件默认开启 markdown 缓存,仅对文章 markdown 转换后的内容做缓存,不对其他组件缓存。此方法对于长文章有良好的效果。但此方法可能导致一些其他也使用 typecho contentEX 接口或插件失效。
当然,启用全局缓存后这里是无效的。
插件提供了缓存接口,你可以自定义缓存内容。比如有很多数据库耗时的查询等等。
参数说明:
- $key 是唯一标识符,可以是任意唯一的字符串。
- $val 是缓存对象,内部采用php默认序列化实现,不保证对所有对象有效。
<?php echo Typecho_Plugin::factory('TpCache.Widget_Cache')->TpCache_setCache($key,$val); ?>
获取 $key 值对应的字符串
<?php echo Typecho_Plugin::factory('TpCache.Widget_Cache')->TpCache_getCache($key); ?>
目前以下操作会触发缓存更新
- 来自原生评论系统的评论
- 后台文章或页面更新
- 后台更新评论
- 重启缓存器后端
- 缓存到期
- 删除文章或者页面
请将文件夹重命名为TpCache
。再拷贝至usr/plugins/下
。
请正确配置缓存后台,配置对应redis 或者 memcache
请先禁用此插件后再升级,很多莫名其妙的问题都是因为没有先禁用而直接升级导致的!