我想缓存一个python方法的输出,所以对于缓存键我使用散列(方法)+序列化的参数。我为多个工作机器使用单个memcached服务器。Python独特的方法标识符
问题是,散列(方法)已被证明在这些工作机器和进程中不一致。
class Foo(object):
def bar():
pass
x = Foo()
hash(x.bar) #was inconsistent across machines/processes
id()将无法工作,因为这是一个内存位置,因此只能在一台机器上工作。
谢谢!
@delnan:哦,我们哈希函数... Nvm – 2012-03-20 20:38:31
@NiklasB。你有什么建议我采取的MD5哈希?该函数采用字符串输入... – djs22 2012-03-20 20:40:26
djs22:参数和某种完全限定的函数名称。这已经是一个已解决的问题,但请查看第二个答案中提供的链接。 – 2012-03-20 20:42:26