在WordPress的/ PHP持久对象(Persistent Objects in Wordpre

2019-10-29 19:17发布

我想创建一组从数据库中加载的状态,然后在内存中持续存在的WordPress / PHP页面加载的缓存内存对象使用持久对象的。 我会想象一个接口,用于这些对象包括:

  • 从数据库加载状态,并执行服务请求之前,所需要的任何其它初始化功能 - 初始化()
  • getter_foo() - 一系列的getter方法PHP代码来调用内存缓存的响应
  • getter_bar() - 一系列的getter方法PHP代码来调用内存缓存的响应
  • 更新() - 即询问对象按时间或事件驱动的所谓流程回到数据库,并更新其状态

这两个技巧我怀疑是:

  1. 有主PHP程序alloc和持有这些对象的内存引用,使他们保持整个网络交易/申请固定内存,而无需每次都重新初始化对数据库
  2. 有一个机制,让交易流程,以获得一个指向这个对象。

有没有做到这一点的解决方案的例子? 我一直在编程多年,但我既Wordpress和PHP很新,所以也许这是相当直截了当。 不确定。 在任何情况下,我也认识到,像Redis的分布式缓存技术解决方案可以实现类似的目标,但在一个不太雅致和非上下文的方式。 也就是说,如果没有简单的方法来做到这一点,我很高兴使用80/20法则。 :^)

Answer 1:

这是不可能在1个请求在内存中存储的数据,然后利用什么,但纯PHP另一个请求时读取它从内存背面。 确保PHP进程使用的内存,但是只要你的要求完成后,记忆的那部分得到垃圾收集。 这意味着第二请求不能再次访问该存储器的那一个部分。

什么,你是在暗示,被称为缓存。 简单地说,缓存意味着你节省昂贵的交易,供以后再次使用的输出,要节省交易成本。 那么,什么你使用的后端存储输出是由你或你有什么可用。 如果你想将其保存到RAM,那么你就需要像Memcached的。 你也可以将其存储在普通的文件,但就是慢,因为被访问的硬盘驱动器。



文章来源: Persistent Objects in Wordpress/PHP