0
從數據存儲中獲取實體後,我想將其密鑰保存到memcache中,並將其作爲參數的一部分傳遞給以後參考的任務的一部分。將appengine數據庫鍵值保存到memcache中
但是,由於密鑰是一個複合項目,因此您無法按原樣轉發它,並且當我嘗試重新構造密鑰時,值不相同。
傳遞密鑰以便稍後引用實體的最佳方法是什麼?
entity_key = feed_entity.key()
logging.info(entity_key) # produces a string like key value
# would like to save a way to reference the key later
memcache.set(entity_key.id_or_name(), some_piece_of_data);
# Will produce the error:
# Key must be a string instance, received datastore_types.Key.from_path
# (u'FeedEntity', u'My_Entity_Name', u'FeedEntity', 2L, _app=u'dev~test_app')
reconstructed_key = Key.from_path('FeedEntity', 'My_Entity_Name', 'FeedEntity', entity_key.id_or_name());
logging.info(reconstructed_key)
# Not the same value as entity_key
params = {"key": entity_key_string_value} # this would be ideal
task = taskqueue.Task(url='/feed_entity/list', params=params).add(queue_name="feed-gopher")
嘗試:memcache.set('%s'%entity_key,some_piece_of_data) –