假设一部分工作完成以后,我们需要进行接口的交付。具体来说:
可能还会有一些其他的细分模式,但是可以先不管。
用户发送一个请求(query)过来,服务先去查询这个query是否存在,如果有,将数据读出来直接返回;如果没有就去Mongo里查询,存redis然后返回。
缓存时效简单设置为1小时就好了(当然是可以做到很精细的,服务端可以主动刷新缓存)
这样通过Mongo和Redis就能搭建一个有效的查询系统,足以应付小规模的请求了(TPS > 100)
前提是先建立了Redis和Mongo,以及对应的操作工具, lq是redis的操作工具, w是mongo的操作工具。
@app.route('/simple_query/', methods=['POST'])
def simple_query():
# 1 配置
cur_config = current_app.config
# 2 消息
web1 = ifuncs.WebMsg1('simple_query')
# 3 数据
input_data = request.get_json()
if input_data is None:
web1.status = False
web1.msg = '输入数据为空'