自言自语

I'm Wang Xianyuan, writing for myself, more studying, more experience…

GAE 的 Memcache 服务

By

年过完了,喜庆淡去。咱也收收心,开始干点正事儿了。头一件事情就是换上了简单高效的主题模板。这套模板在CSS和页面上优化了下,取名“简单就是效率”。
下面写写 GAE 的 Memcache。这东西相当于是数据库的 Cache 了。主要可以用来存放一些经过一定代价计算得到的中间结果或者最终结果以便各个应用模块随时取用。显然有了这个东西就可以减少对数据的查询。
#要使用 Memcache 得导入这个
from google.appengine.api import 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

上面这段函数实现了在Memcache中创建数据。其中self.query_for_data()方法省略,用于物理地获取数据。memcache.add("key", data, 60)将获取的数据缓存起来,60是缓存的期限(Expire)为1分钟。缓存的存取依靠一个Key,在上面的代码中取的是"key"。
有关 Memcache 的更多函数可以参考此处:http://code.google.com/appengine/docs/python/memcache/functions.html
比较完整的应用示例:http://code.google.com/appengine/docs/python/memcache/usingmemcache.html

Leave a Reply