Kang-min Wang avatar Kang-min Wang committed ef81ab1

add memcache for get joke

Comments (0)

Files changed (1)

 from google.appengine.ext.webapp import util
 from google.appengine.ext.webapp import template
 from google.appengine.ext.db import BadValueError
+from google.appengine.api import memcache
 import model
 import os
 import cgi
                             jWhat = cgi.escape(jWhat)
                         ).put()
             self.redirect('/')
+            dd = GetJoke()
+            memcache.set('Joke',dd)
         except BadValueError:
             self.response.out.write('<center><p align="center">You should input some data! chu~mi~  ^.< </p><p align="center"><a href="/">&laquo; 返回</a></p>')
 
     Get JW
     """
     def get(self):
-        data = model.Joke.all().fetch(5000);
+        MyData = memcache.get('Joke')
 
-        if len(data) > 0:
-            dd = []
-            for d in data:
-                tmp = {}
-                tmp['jWhen'] = d.jWhen
-                tmp['jWhere'] = d.jWhere
-                tmp['jWho'] = d.jWho
-                tmp['jWhat'] = d.jWhat
+        if MyData is None:
+            MyData = GetJoke()
+        self.response.out.write(simplejson.dumps(MyData))
 
-                dd.append(tmp)
+def GetJoke():
+    """
+    Get Joke data
+    """
+    data = model.Joke.all().fetch(5000);
 
-            self.response.out.write(simplejson.dumps(dd))
+    if len(data) > 0:
+        dd = []
+        for d in data:
+            tmp = {}
+            tmp['jWhen'] = d.jWhen
+            tmp['jWhere'] = d.jWhere
+            tmp['jWho'] = d.jWho
+            tmp['jWhat'] = d.jWhat
+
+            dd.append(tmp)
+    return dd
+
 
 
 def main():
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.