2009-08-19 23 views
1

我正在学PHP的网站的高性能编码,这个想法突然出现在我的脑海里:是否有可能在PHP中保留内存中的变量(RAM)?

我们知道,访问数据库使用大量的CPU使用率,所以我们缓存这样的数据,保存到HDD。但我想知道,它不能在服务器的RAM中休息,所以我可以更快地访问它甚至更​​多

+1

请记住,操作系统也为您缓存RAM中的文件。 – leeeroy 2009-08-19 23:11:04

回答

1

PHP通常带有APC作为一个字节码缓存。您也可以将其用作本地缓存。如果你需要分布式/集群环境中的某些东西,那么memcached(加上可能的beanstalkd)就是要走的路。

0

XCache,eaccelerator,apc和memcache允许您将项目保存到半持久性内存(您不一定知道项目在大多数情况下何时到期)。它与数据库不一样,更像是一个键/值列表。缺点是它需要第三方库,所以根据您的环境,您可能会受到一些限制。

我想你可能会使用共享内存(通过php的shmop_函数)获得相同的效果。但是我从来没有使用过它们,或者知道它们是否包含在php的库中,所以有人可以自由地打我或编辑这个提及。

0

如果你的服务器是任何好,那么它已经这样做了。但是,当然,也可能出现这种情况,除了你的服务器,你的服务器还有几千个其他任务,这意味着你自己没有那个服务器的缓存。

如果除了你之外确实还有其他几千人在服务,那么在其他成千上万的人中至少有一个疯子的可能性更高,他们正在做一些他真的不应该做的事情,但是服务器尚未被编程为检测,未编程为停止,而是被编程为尝试并充分利用它,代价是x999“负责”用户的资源可用性。

相关问题