使用flask sqlalchemy和flask缓存实现flask的cachingquery

Flask-SQLAlchemy-Caching的Python项目详细描述


flask sqlalchemy缓存

这是iurisilvio's Flask-SQLAlchemy-Cache的叉子

使用烧瓶sqlalchemy和烧瓶缓存的烧瓶cachingquery实现。

要开始使用缓存查询,只需替换flask sqlalchemyModel.query_class

fromflask_sqlalchemyimportSQLAlchemyfromflask_sqlalchemy_cachingimportCachingQueryfromflask_cachingimportCachedb=SQLAlchemy(app,query_class=CachingQuery)cache=Cache(app)

之后,您只需对模型进行查询YourModel

fromflask_sqlalchemy_cachingimportFromCache# cache is a Flask-Caching instance imported for your app initYourModel.query.options(FromCache(cache)).get()

您还可以RelationshipCache启用延迟加载关系 隐藏物.

fromsqlalchemy.ormimportlazyloadfromflask_sqlalchemy_cachingimportRelationshipCacherc=RelationshipCache(YourModel.some_relationship,cache)obj=YourModel.query.options(lazyload(YourModel.some_relationship),rc).get()# make the query and cache the results for future queriesprint(obj.some_relationship)

如果表中有一列更具动态性,并且希望将其从 要缓存,请尝试使用如下延迟查询:

YourModel.query.options(defer('crazy_column')).options(FromCache(cache)).get()

查看Dogpile Caching example了解有关如何 CachingQuery有效。对它们的大多数更改只是为了整合它 用烧瓶,烧瓶炼金术和烧瓶缓存代替狗堆。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这个方法会重复它的循环?   swing如何在Java中拖放鼠标时获取鼠标信息?   java如何处理异常并向SSE客户端发送错误   java在一个我一直试图制作的简单计算器上遇到了问题   java如何使用黄瓜。类和参数化。在同一个跑步者级别上   测试并发性的javajunit   java致命错误:jenkins的身份验证失败   只要我修改服务器,java SSE客户端就会停止工作(服务器发送事件)   java通过JSP获取JSON到JS   java在3d应用程序中集成卫星图像或地图   如何为Java8语言环境实现自己的自定义国家名称列表   java SonarLint | SonarQube批量创建@SuppressWarnings   java删除填充矩形   java hibernate一对多出错,外键错误   java如何获取图像是否被触摸而不是透明背景?LIBGDX   JAVA网SocketException:使用Tomcat重置连接   如何使用java检查文件是SSL证书还是常规文件?   java如何在安卓中使用类似C#等的文件选择器或openfiledialog打开文本文件   java非静态createnewfrom方法?   类在java中将具有多个变量类型的对象传递到arraylist时遇到问题