Pour mettre en cache les fichiers, la méthode la plus couramment utilisée est probablement return array();
les expériences ont prouvé que cette méthode est plus lente. Essayez les trois fichiers suivants :
$arr.php renvoie directement le tableau
<?php.
retourner le tableau
(
"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
);
?>
Deuxièmement, ini.php est un fichier INI
<?php exit;?>
hôte_bd1 = 123
hôte_bd2 = 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
Troisièmement, str.php est le tableau sérialisé
<?php
retour
'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";}';
?>
Effectuer 10 000 tests sur 3 fichiers chacun incluant le tableau renvoyé
$t1 = microtime(true);
$file1 = './arr.php';
$file2 = './ini.php';
$file3 = './str.php';
pour($i=0; $i<10000; $i++){
//$arr = nécessite $file1 ;
//$arr = parse_ini_file($file2);
$arr = désérialiser (exiger $file3);
}
$t2 = microtime(true);
echo $t2-$t1;
Les résultats sont les suivants :
arr.php
5.7820551395416
ini.php 5.3364160060883
str.php 5.5691919326782
Parmi eux, le plus rapide est le fichier INI.
Le deuxième est la sérialisation et le plus lent est le tableau de retour direct
.:
ini Le fichier est bon et facile à écrire (vous pouvez envisager
de sauvegarder le tableau et d'utiliser la sérialisation !