如果不对Wordpress进行深度地址,仅使用纯净的wordpress和默认主题,wordpress的效率还是不错的,当你进行了深度定制,使用了一些性能较差的主题或者插件的时候,可能会造成性能低下,这也是wordpress被很多人说慢的原因之一(其实还是慢,只不过没那么慢),很多知名网站像smashingmagazine就是用wordpress构建的。一般来说,抛去服务器的配置,wordpress的缓存方式主要有Wordpress 对象缓存与数据库缓存。

对象缓存

大部分带数据库查询的Wordpress函数都使用了WordPress Object Cache(WordPress 对象缓存),它是 WordPress 的默认缓存机制,它的主要功能是把负责查询或者运算的结果按照 Key-Value 这样的方式(WordPress 还支持按照 Group 来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。

WordPress Object Cache 和服务器设置关系很大,如果系统支持内存缓存,则这个对象是直接存入内存,以后在未过期之前都是直接从内存中读取的,这样效率和速度都非常快的。如果服务器不支持内存缓存的话,则只能保证在当前页面下同样的查询或者操作不再重复从数据库中读取了。

使用 WordPress 对象缓存技术其实是非常简单的:

使用 wp_cache_set() 把数据写到缓存中。

使用 wp_cache_get() 到缓存中读取数据。

使用 wp_cache_delete() 删除缓存。

这些函数会涉及到的四个参数:

$key: 对象的 key。

$data: 要存的值。

$group: 分组,可选参数,用来把缓存对象就行分组。

$expire: 过期时间,可选参数,如果是默认缓存,这个函数没用,如果是内存缓存,是设置缓存的时间,单位是秒,默认为0(0的意思就是永远,不会自动过期)。

比如我的日常,我的日常是在另一个站上,虽然在同一台服务器上,但是还是会拖慢速度,所以我直接用了,对象缓存。

function get_my_daily(){

$cache = wp_cache_get('my_daily');

if($cache)

return $cache;

$cache = file_get_contents('http://blog.fatesinger.com/_/api/posts/latest');

wp_cache_set('my_daily',$cache,'',60*60*24);

return $cache;

}

上面的代码是把得到的API数据缓存到对象中,首先检查下是否已经有了缓存,如果信息没有在缓存中,或者已经过期了。wp_cache_get()会返回 false,如果这样,你就要去数据库中重新获取这些信息。否则就返回在缓存中的信息。

数据库缓存

而数据库缓存是是指把复杂的查询结果或者外部数据作为一个临时变量储存在数据库中,当再次调用的时候只需要直接从数据库直接读取结果即可。我开发的插件网易云音乐就是使用的这种方法。

使用 get_transient() 从数据库中读取数据

使用 set_transient() 把数据存到数据库中

使用 delete_transient() 把数据从数据库中删除

同样,这个也是有过期时间的,可以根据你的需要设置缓存时间。如果没有内容或者已经过期get_transient()会返回false。

总结

一般来说,如果你服务器支持内存缓存,比如配置了memcached,则直接使用对象缓存即可。否则一些复杂查询或者站外调用数据则可以使用数据库缓存。

我在实际应用中,调用第三方API的时候都会使用数据库缓存,尤其是海外的API,如果不做缓存的话打开速度真是慢的令人发指。我之前写的一些API调用教程都用的文件缓存,现在已经修改成数据库缓存了。

wordpress mysql缓存_WordPress 对象缓存与数据库缓存相关推荐

  1. wordpress mysql优化_wordpress优化mysql数据库的方法

    和大家分享一下wordpress优化mysql数据库的方法,详情如下: wordpress优化mysql数据库的方法 mysql数据库良好稳定有效率的运行,除了linux操作系统给予强力支持外,还需要 ...

  2. wordpress mysql备份_wordpress怎么备份数据库

    wordpress的优势是开源,支持各种插件主题,最大的缺点就是吃主机性能,所以一些博主选择了zblog建站.人各有志,我还是喜欢Wordpress,毕竟wordpress是世界上最受欢迎的博客程序. ...

  3. wordpress mysql 安装_wordpress 搭建安装教程 1 安装数据库、SQLyog

    php-7.3.4-Win32-VC15-x64.zip  如果下载失效,从这里下载(英文版) https://windows.php.net/downloads/releases/php-7.3.5 ...

  4. TimesTen 应用层数据库缓存学习:12. 管理缓存环境

    缓存和复制代理的启停和状态查看 cache agent的作用是将监控Oracle中数据的变化,并更新到TimesTen.因此,对于只读和AWT缓存组,cache agent都是必需的. cache a ...

  5. 【技术干货】缓存随谈系列之一:数据库缓存

    本文作者:   乔锐杰    现担任上海驻云信息科技有限公司运维总监/架构师.曾任职过黑客讲师.java软件工程师/网站架构师.高级运维.阿里云架构师等职位.维护过上千台服务器,主导过众安保险.新华社 ...

  6. java整型缓存_JAVA整型包装类的缓存策略

    Java Integer的缓存策略 public classJavaIntegerCache {public static voidmain(String... strings) { Integer ...

  7. mysql数据库缓存为多久_mysql数据库查询缓存总结

    概述 查询缓存(Query Cache,简称QC),存储SELECT语句及其产生的数据结果.闲来无事,做一下这块的总结,也做个备忘! 工作原理 查询缓存工作原理如下: 缓存SELECT操作的结果集和S ...

  8. php缓存mysql表_PHP 中的数据库缓存原理

    本文章作者主要是用到 php 里面的数据库缓存,php缓存,cache_write,var_export功能对数据进行缓存操作了,觉得写得很不错. 如果后台应用接收到浏览器端的查询请求后,每次都与数据 ...

  9. BOS12——多对多添加方法,多对多页面需要字段问题(不多的话直接提供get方法),修改Realm中授权方法(查询数据库),缓存Java对象的方法,加载左侧菜单(ztree提供pId)...

    1.多对多添加方法 @Override public void add(Role model, String functionIds) {// 1.先将角色保存到数据库roleDao.save(mod ...

最新文章

  1. apue读书笔记-第十二章
  2. php变量名当文件命_php基础教程 第二步 通俗易懂的学习变量、常量与数据类型...
  3. 2.4 程序示例--线性决策边界-机器学习笔记-斯坦福吴恩达教授
  4. sis防屏蔽程序是什么意思_Android 11将强制应用程序支持本地备份——什么意思?...
  5. 安装包安装服务,点修复出现的错误”Error 1001:指定的服务已存在“ 解决办法...
  6. 数据结构与算法--这个需求很简单怎么实现我不管(发散思维)
  7. 算力云服务器是干啥的,云服务器将成趋势计算力和安全性是考验
  8. UART/I2C/SPI/1-wire四大通信接口的神解释
  9. 双11背后的黑科技:大数据实时计算如何为你量身定制?
  10. Linux系统下安装Tomcat8
  11. 产品经理学习笔记(4)-第一种角色:产品策划——善于发现用户需求的人
  12. 【ArcGIS】安装ArcGISDesktop10.6报错A service pack is required on this oprating system.
  13. php随浏览器大小变化,如何在将图像显示到浏览器之前使用php重新调整图像大小?...
  14. matlab画全球参数分布图 绘制世界地图
  15. 天津工业大学计算机学院调剂信息,天津工业大学2019年硕士研究生调剂公告
  16. 网络工程师——Private VLAN
  17. 【Unity连载】斗兽棋-棋类游戏开发演示(2)
  18. 【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?
  19. 分享六个程序员赚100万的方法
  20. C#:if (!IsPostBack)作用

热门文章

  1. 39. 恢复旋转排序数组
  2. 使用 Python 实现多进程
  3. 马斯克加入推特董事会引发员工担忧:可能改变审查规则
  4. 苹果允许员工公开讨论薪资引热议...
  5. 中国电信:张志勇辞任公司执行副总裁
  6. 本田2022年新车将搭载谷歌Automotive OS
  7. 恒大汽车参展车辆竟全都是模型;华为官宣卖车,门店连夜上新摆车...
  8. 腾讯音乐娱乐集团宣布管理层调整,着眼长远战略发展与行业生态布局
  9. 摩拜APP、小程序停服 摩拜单车全面接入美团
  10. 5G手机将不用流量可免费看电视,网友:流量免费,内容付费?