服务化文档,备忘。
memcached2.py
memcached2.py
import time
from django.conf import settings
from common.coreservice2 import cacheService
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
try:
import cPickle as pickle
except ImportError:
import pickle
pickler=pickle.Pickler
unpickler=pickle.Unpickler
class Client():
def __init__(self, servers):
'''
忽略掉memcached的server配置,使用cache_server
'''
def get(self,key):
starttime = time.time()
val= cacheService.get(key)
if val:
file = StringIO(val)
_up = unpickler(file)
val = _up.load()
endtime = time.time()
exe_time = (endtime - starttime)*1000
if exe_time>100:
print "get %s %s cost:%s"%(key,val is not None,exe_time)
return val
def set(self, key, val, time=0, min_compress_len=100):
file = StringIO()
_pk = pickler(file)
_pk.dump(val)
val = file.getvalue()
return cacheService.set(key,val,time)
def incr(self, key, delta=1):
#return cacheService.incr(key,delta)
print 'incr mock'
return 0
DBOSS={
+ "blogCenter":{
+ "locations":["192.168.172.6:8989","192.168.172.8:8989"],
+ "references":[
+ {
+ "id":"blogQueryService",
+ "version":"1.0"
+ }
+ ]
+ },
+ "cacheCenter":{
+ "locations":["192.168.172.2:8989"],
+ "references":[
+ {
+ "id":"cacheService",
+ "version":"1.0"
+ }
+ ]
+ },
}