pythongoogle-app-enginememcachedtipfy

How do I store a fetched entity in memcache for App Engine?


Because each new request in App Engine creates a new Handler, the entity I'd like to alter and put (using POST) has to be retrieved again. This seems wasteful, since I've populated the form with the information from GET a moment earlier.

How do I store a key, fetched entity, or key/entity pair in memcache for App Engine?


Solution

  • From here:

    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
    

    Memcache will store anything that is 'pickleable'.

    You get access to memcache with the following import:

    from google.appengine.api import memcache