2009-07-08 47 views
2

如果我有多個進程訪問註冊表值每秒數千次,讀取此註冊表值是否會有任何重大的性能影響?訪問Windows註冊表值有什麼性能影響?

註冊表值的值永遠不會改變,它將是隻讀的。我想另一個問題是,讀取註冊表值的阻塞操作?

註冊表值用於存儲由ASP.NET應用程序,Win Forms應用程序和WCF服務訪問的數據庫連接詳細信息。

感謝,

斯圖爾特

回答

2

註冊表是快,真快。但每秒數千次?至少,緩存每個應用程序中的值,以便在應用程序啓動時只需讀取一次。

+0

第一次訪問後,Windows註冊表已經爲您緩存值,不是嗎?您應該將本地價值存儲在本地,除非您期望價值旋轉,但肯定。 – 2009-07-08 11:10:57

0

Windows註冊表只是一個恰好比其他文件有更多保護的文件。

然而,就像任何文件一樣,訪問時會有性能問題。

我建議您在應用程序啓動時讀取一次值,並將它們存儲在內存中,並根據需要將它們傳遞給對象。