class Router:def db_for_read(self, model, **hints):return 'slave'def db_for_write(self, mode, **hints):return 'default'# 更细粒度class Router1:def db_for_read(self, model, **hints):if model._meta.model_name == 'user': # 只有User表才会去从库读return 'slave'else:return 'default'def db_for_write(self, model, **hints):return 'default'2、在 setting 中注册
DATABASE_ROUTERS = ['db_router.Router',]# 以后只要是写操作就会用default,只要是读操作自动去slave
推荐阅读
- MySQL单表最大记录数超过多少时性能会严重下降?
- Mysql手写脚本实现插入百万级随机测试数据
- Mac big sur 安装并使用MySql8
- 手把手教你搭建一个简易的文本分类器
- MySQL模糊查询再也不用like+%了
- Prometheus + Granafa 构建MySQL监控平台
- MySQL死锁分析:记一次因索引合并导致的MySQL死锁分析过程
- 记一次生产环境Redis主从同步异常事故
- 技术大佬教你如何使用Nginx在公网上搭建加密数据通道?
- MySQL 读写分离
