在页面之间缓存PHP变量

时间:2011-05-03 02:17:25

标签: php caching

是否可以将php变量存储在某种缓存中,因此它们只需要生成一次,但在每个网页上都可用?没有使用POST,GET,COOKIES或SESSIONS

我有大量的URL存储为变量,我想保持方便。

我知道缓存HTML,但id喜欢以某种方式缓存php变量。不确定是否有解决方案?

1 个答案:

答案 0 :(得分:1)

我使用php堆栈的zend-server实现。甚至社区版附带:

zend_shm_cache_fetch();
zend_shm_cache_store();
zend_disk_cache_fetch();
zend_disk_cache_store();

这些变量中设置的内容存在于脚本执行中,并在创建时指定的超时后自行清理。

允许使用复杂变量,因此您可以存储关联数组等,而无需先对其进行编码。

我广泛使用它们 shm方法可以在0.0005秒范围内存储和检索32k块。

将$ results变量的内容存储在名为blah的缓存中,超时为120秒:

zend_shm_cache_store('blah',$results,120);

稍后检索$ results的内容:

$results = zend_shm_cache_fetch('blah');
if ( $results === false ) { # It expired, or never existed..

Zend文档:http://files.zend.com/help/Zend-Platform/zend_cache_functions.htm

您可以调高zend服务器控制台中的空间量。我认为它默认为32mb。我有我的256mb。您可能需要重新启动或清除共享内存段,以使更大的空间实际工作。增大它确实会让它变慢。如果你存储大型数据数据而不是小的单独引用位但是ymmv。

似乎更快