memcache与python字典的区别

memcache与python字典的区别,python,memcached,Python,Memcached,在我当前的项目中,我使用Memcache来存储键值对,但是由于通信是通过进程和Memcache之间的套接字进行的,因此造成了巨大的延迟。我们使用memcache是因为我们需要存储大量的键值对。但是现在我想在我的过程中将字典存储为一个全局数据结构。这是件好事吗?因为字典将存储在进程地址空间中。建议请……使用memcached的通常原因是您希望在多台机器之间分配缓存,目的是在所有机器上都有可用的数据,同时也利用所有机器的存储。如果这些要求不适用于您,并且您只需要在一台机器上缓存数据,那么memcac

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

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

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

我在memcached的“关于”页面上写到了这一点。我画画什么的

总结:如果您有多个流程,那么字典对您没有帮助。如果你有不止一个进程/计算机,你将消耗大量的内存,这些内存可以以很好的方式重复使用,从而为你节省大量的钱,得到更多更大的东西