示例#1
0
文件: model.py 项目: dreampuf/bana
        def cached_func(*args, **kw):
            key_with_suffix = key
            if key_suffix_calc_func:
                key_suffix = key_suffix_calc_func(*args, **kw)
                if key_suffix is not None:
                    key_with_suffix = '%s:%s' % (key, key_suffix)

            value = memcache.get(key_with_suffix, namespace)
            if value is None:
                value = func(*args, **kw)
                try:
                    memcache.set(key_with_suffix, value, cache_time, namespace)
                except:
                    pass
            return value
示例#2
0
文件: model.py 项目: dreampuf/bana
    def get(cls,name,default=None, useMemoryCache=True):
        global _settingcache
        if useMemoryCache and _settingcache.has_key(name) :
            return _settingcache[name]
        else:
            n = memcache.get("setting.%s" % name)
            if n != None:
                if useMemoryCache:
                    _settingcache[name] = n
                return n
        try:
            opt=Setting.get_by_key_name(name)
            result = pickle.loads(str(opt.value))

            if isinstance(result, unicode):
                result = result.encode("utf-8")

            if useMemoryCache:
                _settingcache[name] = result
            memcache.set("setting.%s" % name, result, 0)
            return result
        except:
            return default