Can you please email me the modified file? Thanks.
On May 6, 10:45 am, NicolasB <nicolas.bn...@gmail.com> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---