我已經構建了一個按順序執行以下作業流程的 cpp 程式:
Read serialized data (0.3 ms)
Receive search metadata (0.00.. ms)
Search data (0.01 ms)
Return search data(0.00.. ms)
現在,我使用 nodejs shell exec 運行程式并使用 express api 提供服務。該api沒有被很多用戶使用,因此讀取資料只會執行一次。但是一位用戶會對相同的資料進行 20 次查詢。所以現在,對相同的資料執行了 20 次讀取。
顯然讀取資料需要大部分時間。此外,正在讀取的資料永遠不會改變。為了加快作業流程,我想讀取一次資料,然后等待請求。就像 MySQL 資料庫一樣,它正在等待陳述句。
你會怎么做?
- 我應該建立一個套接字服務器嗎?(感覺有點矯枉過正)
- 我應該嘗試在后臺運行程式,存盤 pid 并使用 nodejs shell exec 解決方案嗎?(感覺很牛逼)
我想我錯過了正確的條款。如果你能把我推向正確的方向,那就太棒了!
uj5u.com熱心網友回復:
您可以直接從 nodejs 呼叫 C ,這樣可以節省您執行 shell 或構建套接字服務器的開銷。
例如:
int Feed(const char* searchMetadata)如果您希望將多個元資料保存在 C 部分中,它會回傳一個資料鍵。
然后呼叫const char* search(int dataKey, const char* searchingKeyword)搜索元資料。然后根據需要多次呼叫 search()。
將資料快取為 C 檔案也是可行的。但是您認為 0.3ms 是開銷,那么最好避免檔案打開/保存。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/473096.html
