我想创建一组持久对象,它们从数据库加载它们的状态,然后持久保存在内存中,以便 Wordpress/PHP 页面加载用作缓存的内存对象。我会想象这些对象的接口包括:
- initialise() - 从数据库加载状态并在服务请求之前执行所需的任何其他初始化功能
- getter_foo() - PHP 代码调用内存缓存响应的一系列 getter 方法
- getter_bar() - PHP 代码调用内存缓存响应的一系列 getter 方法
- update() - 由时间或事件驱动的进程调用,要求对象返回数据库并刷新其状态
我怀疑的两个技巧是:
- 让主 PHP 进程分配并保存这些对象的内存引用,以便它们在 Web 事务/请求中保持固定到内存,而无需每次针对数据库重新初始化
- 具有允许事务进程获得指向此对象的指针的机制。
有没有这样做的解决方案示例?我已经编程多年,但对 Wordpress 和 PHP 都很陌生,所以也许这很简单。没有把握。无论如何,我确实认识到像redis和memcached这样的技术解决方案可能会实现类似的目标,但会以不那么优雅和非上下文的方式实现。也就是说,如果没有简单的方法可以做到这一点,我很乐意使用 80/20 规则。:^)