Refine
This commit is contained in:
38
main.py
38
main.py
@@ -2277,9 +2277,47 @@ async def fastapi_query_all_scheme_all_records(schemetype: str, schemename: str,
|
|||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
@app.get("/queryallschemeallrecords/")
|
||||||
|
async def fastapi_query_all_scheme_all_records(schemetype: str, schemename: str, querydate: str) -> tuple:
|
||||||
|
# 缓存查询结果提高性能
|
||||||
|
global redis_client
|
||||||
|
cache_key = f"queryallschemeallrecords_{schemetype}_{schemename}_{querydate}"
|
||||||
|
data = redis_client.get(cache_key)
|
||||||
|
if data:
|
||||||
|
# 使用自定义的反序列化函数
|
||||||
|
loaded_dict = msgpack.unpackb(data, object_hook=object_hook)
|
||||||
|
return loaded_dict
|
||||||
|
|
||||||
|
results = influxdb_api.query_scheme_all_record(scheme_Type=schemetype, scheme_Name=schemename, query_date=querydate, client=influx_client)
|
||||||
|
packed = msgpack.packb(results, default=default_encoder)
|
||||||
|
redis_client.set(cache_key, packed)
|
||||||
|
|
||||||
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
@app.get("/queryschemeallrecordsproperty/")
|
||||||
|
async def fastapi_query_all_scheme_all_records_property(schemetype: str, schemename: str, querydate: str, querytype: str, queryproperty: str) -> list:
|
||||||
|
# 缓存查询结果提高性能
|
||||||
|
global redis_client
|
||||||
|
cache_key = f"queryallschemeallrecords_{schemetype}_{schemename}_{querydate}"
|
||||||
|
data = redis_client.get(cache_key)
|
||||||
|
all_results = None
|
||||||
|
if data:
|
||||||
|
# 使用自定义的反序列化函数
|
||||||
|
all_results = msgpack.unpackb(data, object_hook=object_hook)
|
||||||
|
else:
|
||||||
|
all_results = influxdb_api.query_scheme_all_record(scheme_Type=schemetype, scheme_Name=schemename, query_date=querydate, client=influx_client)
|
||||||
|
packed = msgpack.packb(all_results, default=default_encoder)
|
||||||
|
redis_client.set(cache_key, packed)
|
||||||
|
|
||||||
|
results = None
|
||||||
|
if querytype == 'node':
|
||||||
|
results = all_results[0]
|
||||||
|
elif querytype == "link":
|
||||||
|
results = all_results[1]
|
||||||
|
|
||||||
|
return results
|
||||||
|
|
||||||
@app.post("/clearredis/")
|
@app.post("/clearredis/")
|
||||||
async def fastapi_clear_redis(key: str):
|
async def fastapi_clear_redis(key: str):
|
||||||
redis_client.delete(key)
|
redis_client.delete(key)
|
||||||
|
|||||||
Reference in New Issue
Block a user