前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TpCache 魔改版,一个缓存插件 - 星泽V社

TpCache 魔改版,一个缓存插件 - 星泽V社

作者头像
星泽V社
发布2022-05-11 21:11:54
6690
发布2022-05-11 21:11:54
举报
文章被收录于专栏:星泽V社的博客星泽V社的博客

让 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 接口或插件失效。

组件缓存(beta):

当然,启用全局缓存后这里是无效的。

插件提供了缓存接口,你可以自定义缓存内容。比如有很多数据库耗时的查询等等。

设置缓存

参数说明:

  • $key 是唯一标识符,可以是任意唯一的字符串。
  • $val 是缓存对象,内部采用php默认序列化实现,不保证对所有对象有效。
代码语言:javascript
复制
TpCache_setCache($key,$val); ?>

获取缓存

获取 $key 值对应的字符串

代码语言:javascript
复制
TpCache_getCache($key); ?>

缓存更新机制

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

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

安装

请将文件夹重命名为 TpCache 。再拷贝至 usr/plugins/ 下。

请正确配置缓存后台,配置对应 redis 或者 memcache

升级

请先禁用此插件后再升级,很多莫名其妙的问题都是因为没有先禁用而直接升级导致的!

如何查看缓存生效

首先不开启缓存查看一个页面的加载时间,此刻 TTFB 为 215ms:

同一个页面开启缓存后,TTFB 70ms

插件下载地址: 传送门

本文来源于星泽V社,未经允许禁止转载,原文链接:/developer/article/2000594

本文共 541 个字数,平均阅读时长 ≈ 2分钟

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 缓存更新机制
  • 安装
  • 升级
  • 如何查看缓存生效
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com