免责声明:我对memcached很新,所以这可能(可能)是我的一个愚蠢的错误。对于我的实习,我正在使用pymemcache 1.2.9。我从以前的实习生那里继承了一个我无法轻易联系的项目,我与之合作的人对这个项目没有任何了解。
密钥以相当简单的方式添加到本地托管的缓存中 - 密钥是字符串,数据是来自我们正在使用的谷歌API(geopy)的字符串。但是,当我试图查看密钥是否存在于缓存中时:
if not cache.get(key):
#python stuff
cache.add(key, values)
这大约有一半的时间,剩下的时间我得到这个错误:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "card_visualization.py", line 69, in fetcher_thread
if not cache.get(key):
File "/home/arnold/.virtualenvs/datavis/local/lib/python2.7/site-packages/pymemcache/client.py", line 458, in get
return self._fetch_cmd(b'get', [key], False).get(key, None)
File "/home/arnold/.virtualenvs/datavis/local/lib/python2.7/site-packages/pymemcache/client.py", line 723, in _fetch_cmd
key = checked_keys[key]
KeyError: 'my_acceptable_key'
令人困惑的是,不同的密钥会导致此错误,并且完全没有规律性。