0

我設計了一個非常簡單的應用程序,在GAE上使用python。它使用谷歌數據存儲。GAE Python優化數據存儲區讀取操作配額Exceede

在我的應用我從數據存儲這樣讀:在datasotre

user_db = db.GqlQuery("SELECT * FROM Names WHERE name=:1", key) 
user = user_db.get() 

存儲數據以這樣的方式

class Names(db.Model): 
    name = db.StringProperty(required=True) 
    id = db.StringProperty(required=True) 
    result = db.StringProperty(required=True) 
e = Names(name=key,id=23,result=test) 

但不幸的是我的帳戶中的數據存儲讀取操作配額得到內突破和小時。

我聽說過關於memcache的一些信息。所以我想知道如何使用mem緩存優化這些讀/寫操作?

回答

0

有一個很好的介紹memcache here的指南。

當您需要大量數據時,您可以嘗試在memcache中找到它。如果它不在那裏,則執行正常的數據庫查找,並將結果存儲在memcache中供以後使用。 Memcache遵循「最近最少使用」(LRU)驅逐策略。這意味着當您添加條目並且緩存已達到您的存儲限制時,最長未保留的條目將被刪除。

從該文檔引用:

內存緩存典型地與下面的模式使用:

  • 應用程序接收到來自用戶或應用程序的查詢。
  • 應用程序檢查是否需要滿足該查詢的數據位於內存緩存中。
    • 如果數據在memcache中,則應用程序使用該數據。
    • 如果數據不在memcache中,應用程序將查詢數據存儲並將結果存儲在memcache中以備將來使用。

下面的僞碼錶示典型的內存緩存請求:

def get_data(): 
    data = memcache.get('key') 
    if data is not None: 
     return data 
    else: 
     data = self.query_for_data() 
     memcache.add('key', data, 60) 
     return data