在我當前的項目中,我使用Memcache來存儲鍵值對,但是由於通信發生在我的進程和Memcache之間的套接字上,導致了巨大的延遲。我們使用memcache,因爲我們需要存儲大量的鍵值對。但是現在我想在我的流程中將字典存儲爲全局數據結構。這是一件好事嗎?因爲字典將存儲在進程地址空間中。建議請....memcache和python字典之間的區別
6
A
回答
8
通常的原因使用memcached是你想分發高速緩存的多臺計算機之間,既具有數據在所有計算機上可用的的目標,同時還利用所有機器的存儲。如果這些要求不適用於您,並且您只需要一臺計算機上的緩存數據,則memcached不會爲您提供那麼多。在這種情況下,將字典移動到本地進程可能是一個好主意。
1
如果你的數據不是那麼大,你可以將你的python字典轉儲到cPickle.dump或marshal.dump文件中,然後用cPickle.load或marshal.load從文件中重新加載它,如果你需要擔心關於磁盤空間,您可以在文件讀取/重寫期間使用bz2或gzip compress/decompress。
6
我在memcached的「about」頁面上寫了a thorough answer。我畫了照片和一切。
總結:如果你有多個進程,字典不會幫你。如果你有多個進程/計算機,你將會消耗大量的內存,這些內存可以以很好的方式被重用,從而爲你節省大量資金,讓你獲得更多更大的東西。
相關問題
- 1. memcache,memcached和redis之間的區別
- 2. 地圖和字典之間的區別
- 3. 對象和字典之間的區別?
- 4. perl的散列和python的字典之間的區別
- 5. 字典和python中的ordereddict之間的區別
- 6. Python的設置和字典之間的區別「內部」
- 7. HashMap與字典之間的區別ADT
- 8. 定義字典之間的區別
- 9. Python字典理解與循環之間的區別
- 10. python中的[]和[,,]之間的區別
- 11. android sha224和python之間的區別sha224
- 12. Python - os.access和os.path.exists之間的區別?
- 13. python:!=和<>之間的區別?
- 14. Python中cStringIO.StringIO.write和String.StringIO.write之間的區別
- 15. Python - docopt和argparse之間的區別
- 16. ruby和python之間的語法區別?
- 17. basetring和types.StringType之間的python區別?
- 18. python pygir-ctypes和gi.repository之間的區別
- 19. randn和普通Python之間的區別
- 20. Python中dir()和locals()之間的區別?
- 21. Python 3.5 - '//'和'int()'之間的區別
- 22. NodeJS和Python散列之間的區別
- 23. Smalltalk和python之間的區別?
- 24. Python:!=和「不是」之間的區別
- 25. Python:`is`和`==`之間的區別?
- 26. python tkinter spinbox和optionmenu之間的區別
- 27. [:] = b和a = b [:]之間的區別? (Python)
- 28. 字典和哈希表之間的真正區別是什麼?
- 29. 定義typing.Dict和字典之間的區別?
- 30. JSON之間,字典和對象的區別?