Memcached引发了一个奇怪的Key Error

时间:2017-06-20 20:11:46

标签: python-2.7 caching memcached

免责声明:我对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'

令人困惑的是,不同的密钥会导致此错误,并且完全没有规律性。

0 个答案:

没有答案