分类:
Django
| 标签:
ORM
| 发布:2017-06-01 6:30 a.m.
| 阅读量: 7913
> 有人说ORM是天使,也有人说ORM是噩梦
> 在那些优雅、易用、丰富的API背后,总是隐藏着不为人知的密术,好奇的技术人员也总想一探究竟。
关于第10点再补充一句,最新的PyCon2017上,instagram也遇到了类似的坑,不同Python版本之间pickle之后缓存相互不兼容。在生产环境中这是一个很危险的操作。开发环境测试,一切ok。谁会想到缓存上会有问题,毕竟缓存是随时可以清的。
首先来说,我是一个热衷于分享的人,从我博客上https://www.the5fire.com/可以看出来。相对于文字,视频的内容能够更加丰富。
这个问题戳到了Django ORM的痛点,对于多数据库/分库的问题,Django提供了很好的支持,通过using和db router可以很好的完成多数据库的操作。但是说到分表的问题,就有点不那么友好了。但也不是那么难处理,只是处理起来不太优雅。
> 给网站增加pv、uv统计,可以是件很简单的事,也可以是件很复杂的事。
http://django-nonrel.org/——Making Django run on non-relational databases
今天介绍个小工具,Django的插件—— `https://github.com/BertrandBordage/django-cachalot`_ (Django和抹香鲸?)。这个工具的主要应用场景就是自动帮你缓存你执行过的query结果,以此来帮助网站优化访问速度。毕竟同样查询没必要hit两次甚至多次数据库。
上周对我们用Django+Django-rest-framework提供的一套接口进行了压力测试。压测的过程中,收到DBA通知——数据库连接数过多,希望我们优化下程序。具体症状就是,如果设置mysql的最大连接数为1000,压测过程中,很快连接数就会达到上限,调整上限到2000,依然如此。 怎么解决呢,且看这篇文章。
这两天做了一个定制django-imagekit生成图片名称的任务,本来想简单写写《如何定制Django-imagekit的ImageSpecField名称规则》,但是想到这个东西这么吊,还是多废话几句吧。 先说说场景,无论是做哪种业务,但凡是涉及到图片的,一定会有裁图的需求。但是裁图的需求又分好几种,主要的两种是:一种是被动裁图,可以裁出各种尺寸或限定的几种尺寸;另外一种是主动裁图,裁出固定的几种尺寸。