2012-01-01 64 views
1

myModel.gql("WHERE prop IN :1", myList)Memcacheing凡在查詢

運行此查詢後,如何才能相互匹配,我的memcache實體單獨支撐?

例如,如果myList中是:['prop1', 'prop2', 'prop3']

如何讓3個獨立的內存緩存條目,一個用於列表中的每個項目?

祝你新年快樂!

+0

請參閱:http://stackoverflow.com/questions/3302525/why-does-memcached-not-support-multi-set – 2012-01-01 06:09:46

回答

1
query = MyModel.gql(<your GQL query WHERE statement>) 

for mymodel in query: 
    memcache.add(somekey, mymodel.somedata, 60) 

其中60是以秒爲單位的到期時間,可以是任何適用於您的應用程序的到期時間。此外,請注意「add()」和「set()」函數之間的區別 - 如果add()不在memcache中,add()將只添加數據,set()將覆蓋已在該關鍵字下添加的所有內容。

+0

但是,這不會單獨緩存每個實體嗎?無論返回的實體數是多少,在給出的示例中只應該有3個memcache條目。 – ofko 2012-01-02 00:36:15

+0

我很確定這不是memcache的工作原理。 – Sologoub 2012-01-02 01:25:32