来推荐我的 typecho 缓存插件

插件开发及发布

版主: woniou

回复
gogobody
帖子: 35
注册时间: 2020年 1月 13日 18:11

来推荐我的 typecho 缓存插件

帖子 gogobody »

具体内容太多,放到了博客。
https://www.ijkxs.com/archives/135.html?t=1611560750697

前言

众所周知的原因:

由于博客数量达到一定数目,或者服务器由于需要大量数据库查询,又或者服务器主人迟迟不肯加配置,导致服务器压力过大,伴随“脱发”,目光呆滞,行动迟缓等现象,严重者甚至可能原地休克,tmd,怎么都打不开页面,烦死了(X:D)

这时候,不禁服务器很难受,服务器主人很难受,访问网站的小伙伴也很难受。

那么这个时候,要么打开网站维护,及时重启,焕发新生,但不根治。要么腰包一拍,加个配置。那么还有没有启其他办法呢?

这里就为您推荐一款良药,我写的一个小方子,

但,若您没有以上烦恼,大可不必装此插件,否则可能产生意想不到的问题。

TpCache 魔改版
让 typecho 支持 memcached 和 redis 缓存器

了解详情: https://github.com/gogobody/TpCache

原插件地址: https://github.com/phpgao/TpCache

说明

启动顺序说明:
先禁用 tepass 和 tpcache,然后先启动 tpcache 在启动 tepass
插件适配了 Tepass ,默认不会对 Tepass 付费文章缓存。

插件有两种缓存机制:

全局缓存:
采用全局缓存的话,所有非js实现的功能全部失效,悉知!此方法对于ip量大的或者由于服务器 TTFB 时间长的很有效果!但是需要手动去修改代码,更改一些机制由js实现。
例如:基于php cookie的阅读次数失效,基于typehco cookie 的评论人信息缓存失效,这些都可以通过js解决。

部分缓存:
插件默认开启 markdown 缓存,仅对文章 markdown 转换后的内容做缓存,不对其他组件缓存。此方法对于长文章有良好的效果。但此方法可能导致一些其他也使用 typecho contentEX 接口或插件失效。

组件缓存(beta)
当然,启用全局缓存后这里是无效的。
插件提供了缓存接口,你可以自定义缓存内容。比如有很多数据库耗时的查询等等。

设置缓存
参数说明:

$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); ?>

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

来自原生评论系统的评论
后台文章或页面更新
后台更新评论
重启缓存器后端
缓存到期
删除文章或者页面

开源地址:https://github.com/gogobody/TpCache
上次由 gogobody 在 2021年 3月 3日 09:28,总共编辑 1 次。
头像
ClayMore
帖子: 2481
注册时间: 2007年 11月 29日 02:55
来自: Sleeping Forest
联系:

Re: 来推荐我的 typecho 缓存插件

帖子 ClayMore »

已star和fork 支持
回复