0

我目前在我的 Google Appsengine 应用程序中使用 Google memcache API 在缓存中存储大量数据,但是这需要异步发生,因为我需要在完成之前返回结果。

我已经在这里找到了一个答案,说明它是如何完成的,但是我仍然无法让我的代码工作。

我尝试使用它,但是它只会导致 memcache 同步存储值:

client = memcache.Client()
rpc = client.set_multi_async(values)
rpc.get_result()
return values[id]

我也试过这个,但它会导致 memcache 永远不会保存值:

client = memcache.Client()
client.set_multi_async(values, rpc=memcache.create_rpc())
return values[id]

有什么方法可以异步存储值并同时返回一个值?谢谢

4

1 回答 1

0

rpc.get_result()导致 rpc 对象在返回之前等待结果可用,从而使您的代码同步。为了使您的代码异步,您需要返回 rpc 对象,然后使用Future 类在结果准备好时等待和处理结果。

于 2016-02-23T21:31:43.323 回答