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()
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)
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()
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)