Memcache输出空值

时间:2017-09-26 14:51:31

标签: python memcached

我正在尝试从Google文档Memcache Examples中实现伪代码,以便我可以将其传递给字典但我得到null值。我已经研究过解决方案,例如Google App Engine retrieving null values from memcache,但它们没有用。

如何将the_id的输出缓存500秒并返回以供update_dict函数使用?我做错了什么?

CODE:

def return_id(self):
    the_id = str(uuid.uuid1())

    data = memcache.get(the_id)
    print data

    if data is not None:
        return data
    else:
        memcache.add(the_id, the_id, 500)

    return data

def update_dict(self):
    ....
    id = self.return_id()
    info = {
        'id': id,
        'time': time
    }

    info_dump = json.dumps(info)
    return info_dump

输出:

  

{“id”:null,“time”:“1506437063”}

1 个答案:

答案 0 :(得分:0)

此问题已得到解决。问题是:

  1. 我的密钥没有正确的字符串名称'the_id'
  2. 我没有在我的其他声明中传递数据
  3. <强>解决方案:

    ....
    the_id = str(uuid.uuid1())
    
    data = memcache.get('the_id') #fix: pass a string for the key name
    print data
    
    if data is not None:
        return data
    else:
        data = the_id #fix: added the object that needed to be passed to data
        memcache.add('the_id', the_id, 500)
    return data
    ....
    

    <强>输出:

      

    {“id”:“25d853ee-a47d-11e7-8700-69aedf15b2da”,“time”:“1506437063”}

         

    {“id”:“25d853ee-a47d-11e7-8700-69aedf15b2da”,“time”:“1506437063”}