Persistent connections CONN_MAX_AGE django
Persistent connections¶
Persistent connections avoid the overhead of re-establishing a connection to the database in each request. They’re controlled by theCONN_MAX_AGE
parameter which defines the maximum lifetime of a connection. It can be set independently for each database.
The default value is 0
, preserving the historical behavior of closing the database connection at the end of each request. To enable persistent connections, set CONN_MAX_AGE
to a positive number of seconds. For unlimited persistent connections, set it to None
.
Connection management¶
Django opens a connection to the database when it first makes a database query. It keeps this connection open and reuses it in subsequent requests. Django closes the connection once it exceeds the maximum age defined by CONN_MAX_AGE
or when it isn’t usable any longer.
In detail, Django automatically opens a connection to the database whenever it needs one and doesn’t have one already — either because this is the first connection, or because the previous connection was closed.
At the beginning of each request, Django closes the connection if it has reached its maximum age. If your database terminates idle connections after some time, you should set CONN_MAX_AGE
to a lower value, so that Django doesn’t attempt to use a connection that has been terminated by the database server. (This problem may only affect very low traffic sites.)
At the end of each request, Django closes the connection if it has reached its maximum age or if it is in an unrecoverable error state. If any database errors have occurred while processing the requests, Django checks whether the connection still works, and closes it if it doesn’t. Thus, database errors affect at most one request; if the connection becomes unusable, the next request gets a fresh connection.
最新文章
- [资料分享]Java35期基础班和就业班
- [skill] 进程 线程
- Logstash学习-plugin安装
- cell当中的按钮如何获得cell内容
- mysql主从复制(超简单)
- nodejs学习笔记<;一>;安装及环境搭建
- halcon,C# 学习
- linux取出某几行
- 纯CSS3实现的图片滑块程序,效果非常酷
- smarty实现缓存
- Java C# MD5 加密串一致性
- MVC-@html.ActionLink的几种参数格式
- Android - 硬件抽象层(HAL)
- Java中如何判断当前环境是大端字节顺序还是小端字节顺序
- mysql 索引管理原则
- js兼容性大全
- Android代码混淆和项目宣布步骤记录器
- List之Distinct()
- 记一次解决curl https证书问题
- 13.Linux键盘驱动 (详解)