跨PHP请求本机持久化数据

Der*_*erg 4 php caching

我想在PHP请求中缓存一些数据,而不是在每次调用期间从数据库中提取数据.无论用户/会话如何,数据都适用.实现这一目标的最轻的方法是什么?我不能保证对驱动器的写访问权或要求APC.有没有办法用香草PHP实现这一点?谢谢!

Kil*_*one 11

当你提出这个问题时,我会想到3种"方式",但在我总结之前,让我说PHP并不是为了做你想做的事.查询(或累积)数据没有"通用"缓存系统.但是,您可以执行以下操作来加速页面加载和数据请求:

  1. 会话(要求:用户的Cookie支持和每个新用户的重新查询)
  2. 缓存文件(要求:对驱动器的写访问权限)
  3. 缓存查询(要求:能够在MySQL中缓存查询)

第一个会话是相当明显的,但是如果数据是依赖于用户的(如果不是为了避免它),则应该只使用它.对于缓存文件,将需要写访问权限,但这是站点范围数据的最佳方法.只需使用序列化数组(普通文件)或XML数据,任何适合您的需求.最后一个是加速MySQL请求的好方法(如果它们每次都相同,并且您没有对系统的任何写访问权限).您可以使用缓存的选择缓存数据库中的查询.

正如您所看到的,所有这些方法各有优缺点,但您可以随意使用它们.然而,需要注意的是,从文件或会话加载缓存数据需要时间,因此您应该检查缓存是否实际加快了请求!