缓存文件,大家用的最多的估计就是 return array();
实验证明,这种方法是较慢的,试考查以下的3个文件.
其一. $arr.php 直接返回 数组
<?phpreturn Array( 'db_host1' => 123, 'db_host2' => 123, 'db_host3' => 123, 'db_host4' => 123, 'db_host5' => 123, 'db_host6' => 123, 'db_host7' => 123, 'db_host8' => 123, 'db_host9' => 123, 'db_host10' => 123, 'db_host11' => 123, 'db_host12' => 123, 'db_host13' => 123, 'db_host14' => 123, 'db_host15' => 123, 'db_host16' => 123);?>
其二,; ini.php 为INI文件
<?php exit;?>db_host1 =123db_host2 =123db_host3 =123db_host4 =123db_host5 =123db_host6 =123db_host7 =123db_host8 =123 db_host9 =123db_host10 =123db_host11 =123db_host12 =123db_host13 =123db_host14 =123db_host15 =123db_host16 =123其三,str.php 为序例化后的数组
<?phpreturn 'a:16:{s:8:'db_host1';s:3:'123';s:8:'db_host2';s:3:'123';s:8:'db_host3';s:3:'123';s:8:'db_host4';s:3:'123';s:8:'db_host5';s:3:'123';s:8:'db_host6';s:3:'123';s:8:'db_host7';s:3:'123';s:8:'db_host8';s:3:'123';s:8:'db_host9';s:3:'123';s:9:'db_host10';s:3:'123';s:9:'db_host11';s:3:'123';s:9:'db_host12';s:3:'123';s:9:'db_host13';s:3:'123';s:9:'db_host14';s:3:'123';s:9:'db_host15';s:3:'123';s:9:'db_host16';s:3:'123';}';?>
分别对3个文件; 进行10000次包含返回数组测试
$t1 = microtime(true);
$file1 = './arr.php';$file2 = './ini.php';$file3 = './str.php';
for($i=0; $i<10000; $i++){//$arr; = require $file1;//$arr; = parse_ini_file($file2);$arr; = unserialize(require $file3);}
$t2 = microtime(true);echo $t2-$t1;
得出结果:
arr.php;;;;5.7820551395416
ini.php;;;;;5.3364160060883
str.php;;;;;5.5691919326782
其中,排得最快的居然是 INI文件.
其次是序列化, 最慢的是直接 return 数组
结论:
ini 文件不错,方便书写(可以考虑)
保存数组, 用序列化!