我使用PHP來做大量的數據處理(意識到我可能會進入我應該使用其他語言和/或技術的領域)。我可以在PHP進程之間共享內存中的大數組嗎?
我正在做一個PHP進程的實體提取,加載一個包含ngrams的數組以查找內存。該陣列使用3GB內存,每次啓動進程時需要大約20秒的時間才能加載。我在機器上本地生成一次,每個進程都從.json文件加載它。每個進程然後標記它正在處理的文本,並在這兩個數組之間進行array_intersect以提取實體。
有沒有什麼辦法可以在運行所有這些進程的計算機上將它預加載到內存中,然後在所有進程間共享資源?
因爲它可能不適用於PHP:我應該研究哪種類型的語言/方法來更有效地進行這種實體提取?
我會從內存中的數據庫解決方案開始。 – raina77ow 2014-09-05 21:20:05
在包含這些ngram的MEMORY表中的MySQL中查找查找速度是否與PHP中的數組查找速度相當?這可能是...不知道,直到你測試它......情況。 – 2014-09-05 21:22:24