Django 中数据库模型的使用

作者: bugall
发布时间:2015-07-29 11:33:15


简介:

Django试图去支持各式各样的后台数据库,但是所有的后台数据库并不是一样的。Django在安全的假设前提下做出了最终功能设计决定。

一般注释:

1.持久连接

    持久连接避免重新建立在每个请求的数据库连接的开销,由参数CONN_MAX_AGE控制连接时间0表示请求完后自动断开连接,none表示永久连接

2.连接管理

    在Django收到第一个数据库请求的时候,它会自动的建立一个数据库连接,以供后续请求使用,直到超过了CONN_MAX_AGE才会被关闭。无论什么时候当数据库没有一个连接是可用的或是最后一个连接被关闭,Django都会自动新建一个新连接。如果你是一个流量很低的web后台,建议把CONN_MAX_AGE调整到个较低的值这样Django就不会使用一个被后台数据库关闭的连接(后台数据库同样可以设置连接有效时长)
    在每一个请求结束后如果该连接到了CON_MAX_AGE的值或是处于一个无法回滚的错误状态,Django会关闭此连接,如果db在处理请求时出现任何错误,Django会查看此连接是否工作,如果没有工作则会关闭,数据库请求错误最多影响一个用户,如果这个连接不可用,则下一个请求则会使用一个新链接

注意事项

    因为每一个线程维护一个自己的连接,所以后台数据库必须支持请求的异步处理。
    有时候你的数据可能会长时间不会被访问,例如外部系统,或是由于缓存,这时你应该把CON_MAX_AGE的值设置很小甚至是0,算不能重复使用连接造成单个连接的使用效率低,但是这可以减少数据库同时请求连接的数量。Django默认使用UTF-8编码如果你使用其它编码可能会报"value too long"的错误

Django中的mysql

介绍

Django支持MySQL 5.0.3或是更高版本,同样的支持事务和参照完整性,不过这个要具体到每一个MySQL版本,不同的版本mysql默认的存储引擎不一样。

版权声明:本文为博主原创文章,未经博主允许不得转载。

标签: Django Go 数据库
来源:http://blog.csdn.net/bugall/article/details/44007197

推荐: