memcache和python字典之间的区别

时间:2011-08-22 06:13:24

标签: python memcached

在我当前的项目中,我使用Memcache来存储键值对,但由于通信在我的进程和Memcache之间的套接字上发生,导致了巨大的延迟。我们使用memcache,因为我们需要存储大量的键值对。但现在我想在我的过程中将字典存储为全局数据结构。这是好事吗?因为字典将存储在进程地址空间中。建议请....

3 个答案:

答案 0 :(得分:8)

使用memcached的常见原因是您希望在多台计算机之间分发缓存,目标是在所有计算机上都有可用的数据,同时还利用所有机器的存储。如果这些要求不适用于您,并且您只需要在一台计算机上使用缓存数据,那么memcached并不能为您提供那么多。在这种情况下,将字典移动到本地进程可能是个好主意。

答案 1 :(得分:6)

我在memcached“about”页面上写了a thorough answer。我画了一些照片和一切。

总结:如果您有多个流程,该词典将无法帮助您。如果你有多个进程/计算机,那么你将会燃烧大量内存,这些内存可以以很好的方式重用,从而节省大量资金并为你提供更大的内容。

答案 2 :(得分:1)

如果您的数据不是那么大,您可以将python字典转储到包含cPickle.dump或marshal.dump的文件中,并使用cPickle.load或marshal.load从文件重新加载,如果您需要担心在磁盘空间中,您可以在文件读取/重写期间使用bz2或gzip压缩/解压缩。