我想緩存一個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