是否可以将php变量存储在某种缓存中,因此它们只需要生成一次,但在每个网页上都可用?没有使用POST,GET,COOKIES或SESSIONS
我有大量的URL存储为变量,我想保持方便。
我知道缓存HTML,但id喜欢以某种方式缓存php变量。不确定是否有解决方案?
答案 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。
似乎更快