2011-06-14 73 views
1

我在PHP中编写了一个远程API,需要在每次调用时对所提供的参数执行比较。根据API的内部状态,提供的参数需要检查1到50个动态值(每个长度大约15个字节)左右。磁盘IO与PHP中的MySQL查询

我的问题是,为了尽可能快地调用,在每次调用中简单地从平面文件加载比较值(甚至可以立即解析为.inc)会更有意义,或者在每个调用中从MySQL表中加载比较值。写入这些值的更改并不重要,因为这不会经常发生。

谢谢。

回答

1

如果你只有50个项目,只需将它们包含在你的php代码中。你已经从磁盘读取这个文件......而且php有自己的字节码缓存。使用mysql将需要您每次打开一个套接字并发出网络请求。

+0

这是我的第一个直觉,现在看起来像是一个更好的选择,现在你已经让我意识到PHP的内在字节码缓存。 – Derg 2011-06-14 23:24:14

1

如果你只有最多50个值,我会从数据库中加载一次,并将它们缓存在内存中。

+0

您将如何维护跨请求的缓存? – 2011-06-14 23:04:55

+0

我假设他在谈论mysql查询缓存。 – iHaveacomputer 2011-06-14 23:07:37

+0

不是在谈论mysql查询缓存。我不知道PHP。如果不可行,请使用本地memcached或redis实例进行缓存。 – 2011-06-14 23:08:02