Hello, I am using memcache to hold query directly: db((db.ad...,cache=(cache.mem,100))
Web2py creates a key with the query. However memcache does not seem to support spaces. I modified web2py_src_1.61.4\web2py\gluon\contrib\memcache\__init__.py to format the key I don't know if this is the best way to do... Best regards, Nicolas from gluon.contrib.memcache.memcache import Client import time """ examle of usage: cache.memcache=MemcacheClient(request,[127.0.0.1:11211],debug=true) """ import cPickle as pickle class MemcacheClient(Client): def __init__(self, request, servers, debug=0, pickleProtocol=0, pickler=pickle.Pickler, unpickler=pickle.Unpickler, pload=None, pid=None): self.request=request Client.__init__(self,servers,debug,pickleProtocol, pickler,unpickler,pload,pid) def __call__(self,key,f,time_expire=300): key=self.__keyFormat__(key) dt=time_expire value=None obj=self.get(key) if obj and obj[0]>time.time()-dt: value=obj[1] elif f is None: if obj: self.delete(key) else: value=f() self.set(key,(time.time(),value)) return value def increment(self,key,value=1): key=self.__keyFormat__(key) obj=self.get(key) if obj: value=obj[1]+value self.set(key,(time.time(),value)) return value def __keyFormat__(self,key): return '%s/%s' % (self.request.application,key.replace(' ','_')) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---