2012-04-08 59 views
2

我需要序列化一個需要高性能的數據。分離的線程將每秒訪問它並且必須將數據加載到內存。將會有大約1000 - 10000條有關用戶會話的字典條目(ID,sessid,登錄日期)。有些數據會經常更新,因爲登錄時間有一段時間。Python - 以高性能序列化數據的最佳方式?

這些數據將在python服務器和Django應用程序之間共享。我想用pickle或者更快的版本cPickle。我還發現marshal

這樣做的最好方法是什麼? cPickle是否足夠高效?或者也許是元帥?

編輯: 訪問時間非常重要。這將是一個實時websocket服務器,所以我需要非常低的延遲。每秒訪問一次cPickle數據還是像Redis連接到數據庫一樣快?

回答

4

一個更好的方法可能是使用一些內存中的緩存 - memcached,如果您的需求很簡單 - 或者更多的功能,比如redis。

+0

與Redis相比,cPickle將會非常慢 - 這是爲速度而設計的。 – 2013-01-17 07:10:27

3

在內存中使用真實的數據庫。不要使用泡菜,cPickle或元帥,或類似的東西。

相關問題