def __call__(self, *key): mk = self.mc_key % '_'.join(map(str, key)) num = mc.get(mk) if num is None: #print "self.get_num", key, self.get_num(*key) num = self.get_num(*key) or 0 mc.set(mk, num, self.timeout) return num
def get_dict(self, keys): mc_key = self.mc_key mc_key_list = dict([(key, mc_key % key) for key in keys]) result = mc.get_dict(mc_key_list.itervalues()) r = {} for k, mck in mc_key_list.iteritems(): v = result.get(mck) if v is None: v = self.get_num(k) or 0 mc.set(mck, v) r[k] = v return r
def get_dict(self, keys): mc_key = self.mc_key mc_key_list = dict([(key, mc_key%key) for key in keys]) result = mc.get_dict(mc_key_list.itervalues()) r = {} for k, mck in mc_key_list.iteritems(): v = result.get(mck) if v is None: v = self.get_num(k) or 0 mc.set(mck, v) r[k] = v return r
def set(self, key, value, expire=0): key = self.key_pattern % key if type(value) is not array: value = pack(self.type * len(value), *value) else: value = value.tostring() return mc.set(key, value, expire)
def set(self, key, value): mk = self.mc_key % key mc.set(mk, value)
def set(self, key, value, expire=0): return mc.set(self.key_pattern % key, value, expire)