Python 在不同路由中重用sql查询
我是python的新手。使用瓶子框架,我有两条路线,如下所示Python 在不同路由中重用sql查询,python,sql,bottle,Python,Sql,Bottle,我是python的新手。使用瓶子框架,我有两条路线,如下所示 @app.route("/foo/:slug") def foo(slug): # execute heavy sql query here sql = "..." @app.route("/bar/:slug") def bar(slug): # again execute the heavy sql query ... sql = "..." 正如您在上面的路由中所看到的,我冗余地执行同一个查
@app.route("/foo/:slug")
def foo(slug):
# execute heavy sql query here
sql = "..."
@app.route("/bar/:slug")
def bar(slug):
# again execute the heavy sql query ...
sql = "..."
正如您在上面的路由中所看到的,我冗余地执行同一个查询,但这在我看来很难看,有没有办法执行这样一个查询一次,然后在另一个路由中重用它
注意:不使用
全局变量的答案将不胜感激。您可以将其包装在模型对象中,例如:
import models
@app.route("/foo/:slug")
def foo(slug):
data = models.heavy_data()
@app.route("/bar/:slug")
def bar(slug):
data = models.heavy_data()
并且模型可以使用写助手函数缓存数据。多次调用助手函数不会多次执行查询?这取决于助手函数。它可以缓存查询结果,并为第二次调用返回缓存结果。