nodejs使用yaml寫配置檔案,是否會有效能問題?最佳實踐又是什麼?

時間 2021-06-06 00:11:43

1樓:孟禿

首先程式不應該自主修改配置檔案。

(這樣也就不會出現讀寫效能問題)

修改的應該是資料檔案。

然後說配置檔案的問題:

抽象出來乙個config類可能會好一些。

然後這個類只管提供config以及寫入config。

config在程式startup的時候一次讀取。並新增程式中各個子程式對於某項配置的訂閱。

在觸發修改操作的時候修改配置檔案。並且通知各個訂閱配置修改的子程式。

這樣應該不會有太大效能問題。

可以參考poi的配置檔案寫法。

2樓:open-node

既然是配置檔案,效能就根本不是問題,因為你只需要啟動的之後執行一次parse。所以如果你覺得yaml配置方便管理,那就大膽的去用。

3樓:

建議使用js,我所實踐下來有如下好處

支援注釋

支援運算比如寫個token期間: 60 * 60 * 24 * 30 等等這種

支援拷貝配置檔案比如我的配置檔案和另外乙個配置檔案基本相似就埠不一樣我可以使用 `return Object.asign({}, require('xx.config.

js', )` 達到乙個拷貝的目的而且也好維護比較靈活

這些基本滿足我專案的需求小弟才疏學淺說錯了請輕噴。。

4樓:i5ting

讀寫又不頻繁,一般都在專案啟動時用,不會有效能問題。

如果怕,就benchmark一下

Toml#parse x 677 ops/sec ±3.01% (80 runs sampled)

Yaml#parse x 3,405 ops/sec ±1.73% (84 runs sampled)

JSON#parse (fs) x 43,730 ops/sec ±2.84% (83 runs sampled)

JSON#parse (require) x 90,257 ops/sec ±2.01% (84 runs sampled)

JS#require x 87,288 ops/sec ±2.03% (82 runs sampled)

Fastest is JSON#parse (require)

從上面的資料來看,下面這種寫法效率最高

var jsonString = require('./data.json')

但json表達能力確實差,我不認為配置檔案讀取會有非常影響效能(如果不是頻繁讀寫)。

配置檔案的使用由來已久,從.ini、XML、JSON、YAML再到TOML,語言的表達能力越來越強,同時書寫便捷性也在不斷提公升。從rails開始使用yaml,用著非常習慣,另外推薦toml,也非常適合,表達上更好,效能略差。

node js寫後端就業怎麼樣?

不算太好,但又是趨勢所在。如果把目光至少放到五到十年後,本人認為node在js的後端領域還是有可能會成為過渡產品,因為在node推出時就注定是JS在後端領域的乙個比較大的嘗試,但在node目前取得的成就來說,這絕對是乙個成功的嘗試。那麼如果你選擇node,意味著你就要不斷擁抱變化,不斷的學習。並且比...

nodejs 使用redis 為什麼不用連線池?

mysqljs mysql 是有的,redis client也應該要有,單連線可能傳輸不及時,雖然都是非阻塞呼叫。btw redis是單程序的 個人愚見,不對請指正。 靈劍 nodejs是個單執行緒的過程,非同步處理很方便,redis又支援pipelining,通過非同步處理,可以在復用乙個連線的情...

用node js模板寫的頁面算不算ssr呢?

鬧鐘 我認為不算。SSR的核心是前後端同構,後端渲染的前端特定情況下也會渲染,而且邏輯完全一致,這才叫SSR。否則是個吐HTML的後端都叫SSR了,沒有意義。 孟禿 我覺得ssr指的是網頁落地不需要重新渲染dom節點。在這個定義的基礎上,如果模板引擎落地之後。通過hydrate進行繼續渲染 區別於r...