ネオクライアント
NeoClient は Symfony フレームワークの一部のみを使用しています。リスト:
"require": {
"php": ">= 5.5",
"guzzlehttp/guzzle": "^6.0",
"monolog/monolog": "~1.1",
"symfony/yaml": "^2.7",
"symfony/config": "^2.7",
"symfony/dependency-injection": "^2.7",
"symfony/event-dispatcher": "^2.7",
"graphaware/neo4j-response-formatter": "^1.0"
},
さらに、ファイルのロードにはオートローダー (通常は composer が提供) が使用されます。これにより、実行時に実際に使用される (含まれている/必要な) ファイルのみが読み込まれます。したがって、メモリ内に 100MB の PHP コードが残ることはありません。
( memory_get_usageおよびmemory_get_peak_usageを使用して)テストを実行して、 NeoClient の有無にかかわらずアプリケーションが消費するメモリ量を確認します。
代替案
このセクションをチェックして、php の代替ドライバーを見つけることができます。
neo4jphp - 有望に見えます。依存関係はありません:
"require": {
"php": ">=5.3.0",
"ext-curl": "*"
},
したがって、このライブラリは非常に軽量です。
注: Neo4j サーバーは、JSON 出力を備えた単なる REST API です。プロジェクトのニーズに合わせて、いつでも簡単なライブラリを実装できます。ただし、軽量の代替手段がすでに存在するため、お勧めしません。