ホームページ  >  記事  >  バックエンド開発  >  PHP配列がメモリを大量に消費する問題を解決する方法

PHP配列がメモリを大量に消費する問題を解決する方法

小云云
小云云オリジナル
2018-03-26 14:10:061995ブラウズ

一般的に、PHP 配列のメモリ使用量はわずか 1/10 です。つまり、C 言語で 100M のメモリを備えた配列は、PHP で 1G を必要とします。 特に PHP をバックエンドサーバーとして使用するシステムでは、過剰なメモリ消費の問題が頻繁に発生します。 これは言語の問題であるため、従来の解決策では解決がより困難です。以下は文字列による解決策です。

$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);
}

この例では、文字列を使用して double の配列を保存します。ご使用の際は開梱してください。
もちろん、これはパフォーマンスに影響します。それは具体的なニーズによって異なります。
たとえば、この場合:
10 個のアレイがあり、各アレイは 10M (約 100 万データ) であるため、10 個で 100M のメモリが必要になります。
10人を同時に追加すると、メモリが大幅に不足します。
すると、10個の配列のうち、毎回同時に使用されるわけではありません。それらを文字列として保存し、使用するときに特定の文字列を配列に解凍できます。

関連する推奨事項:

PHP 配列の低メモリ使用率の詳細な分析

PHP 配列のメモリ消費量が多すぎる問題の解決策_PHP

PHP 配列のメモリ消費量が多すぎる問題の解決策

以上がPHP配列がメモリを大量に消費する問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。