Heim > Backend-Entwicklung > PHP-Tutorial > So lösen Sie das Problem, dass das PHP-Array zu viel Speicher verbraucht

So lösen Sie das Problem, dass das PHP-Array zu viel Speicher verbraucht

小云云
Freigeben: 2023-03-22 10:32:01
Original
2081 Leute haben es durchsucht

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);
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage