Im Allgemeinen beträgt die Speicherauslastung von PHP-Arrays nur 1/10. Das heißt, ein Array mit 100 MB Speicher in der Sprache C erfordert 1 GB in PHP. Insbesondere in Systemen, in denen PHP als Backend-Server eingesetzt wird, tritt häufig das Problem eines übermäßigen Speicherverbrauchs auf. Da es sich um ein Sprachproblem handelt, sind herkömmliche Lösungen schwieriger zu lösen. Das Folgende ist eine Lösung durch String.
$total = 100000;$double = "";for ($i = 0; $i < $total; $i++) { $double .= pack("d", $i + 0.1); }for ($i = 0; $i < $total; $i++) { unpack("@" . ($i * 8) . "/d", $double); }
In diesem Beispiel wird eine Zeichenfolge verwendet, um ein Array von Doubles zu speichern. Packen Sie es dann aus, wenn Sie es verwenden.
Natürlich wirkt sich dies auf die Leistung aus. Es kommt auf die konkreten Bedürfnisse an.
Zum Beispiel in diesem Fall:
Sie haben 10 Arrays, jedes Array ist 10 MB groß (ca. 1 Million Daten), dann kosten zehn 100 MB Speicher.
Wenn Sie 10 Personen gleichzeitig hinzufügen, wird der Speicher erheblich unzureichend sein.
Dann werden die 10 Arrays nicht jedes Mal gleichzeitig verwendet. Sie können sie als Strings speichern und dann bei Verwendung einen bestimmten String in ein Array entpacken.
Verwandte Empfehlungen:
Detaillierte Analyse der geringen PHP-Array-Speichernutzung
Lösung für das Problem der zu hohen PHP-Array-Speichernutzung_ PHP
Beheben Sie den zu hohen PHP-Array-Speicherverbrauch
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass das PHP-Array zu viel Speicher verbraucht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!