예제 #1
0
def key_set():
    redis_config = ['key', 'value']
    if not request.json:
        return vo.fail(406)
    for one in redis_config:
        if one not in request.json or request.json[one] == '':
            return vo.fail(406)
    redis = mainConfig.getRedis()
    redis.set(request.json['key'], request.json['value'])
    return vo.success()
예제 #2
0
def key_get(key):
    redis = mainConfig.getRedis()
    print('key get key=', key, 'redis=', redis)
    re = redis.type(key)
    if re == b'string':
        result = redis.get(key)
        return vo.single(result.decode())
    elif re == b'none':
        return vo.fail(404)
    else:
        return vo.fail(405)
예제 #3
0
def init_redis():
    config_list = ['host', 'port', 'password', 'db']
    if not request.json:
        return vo.fail(406)
    for one in config_list:
        if one not in request.json:
            return vo.fail(406)
    global redis
    redis = RedisConfig(request.json['host'], request.json['port'],
                        request.json['password'],
                        request.json['db']).getConnection()
    try:
        redis.ping()
    except Exception as e:
        print('Failed to connect', e)
        redis = None
        mainConfig.setRedis(None)
        return vo.fail(408)
    print('Successfully initialized Redis ', redis)
    mainConfig.setRedis(redis)
    return vo.success()
예제 #4
0
def check():
    global redis
    path = request.path
    print('listen : ', path)
    # 如果路径中包含以下, 就全部忽略校验
    ignore = ['init_redis', 'show_code', '/static/']
    isIgnore = False
    for one in ignore:
        if one in path:
            isIgnore = True
            break
        if path == '/':
            isIgnore = True
            break
    if redis is None and not isIgnore:
        return vo.fail(407)
    else:
        redirect(path)