Django实现读写分离

Posted ghylpb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django实现读写分离相关的知识,希望对你有一定的参考价值。

Django实现读写分离


migrate app01 --databse="db1"


# 手动操作(queryset对象)
ret=Book.objects.all().using("db1")

# 自动做(通过配置,程序,读去从库读,写去主库写)
# 写一个router
在项目路径下创建db_router.py
在里面写一个类
class Router1:
		def db_for_read(self, model, **hints):
				return ‘db1‘

		def db_for_write(self, model, **hints):
				return ‘default‘
      
#在setting中配置
DATABASE_ROUTERS = [‘db_router.Router1‘,]
# 只要是写的操作,都到default上,只要是读的操作,都到db1上了

以上是关于Django实现读写分离的主要内容,如果未能解决你的问题,请参考以下文章

配置 Django 实现数据库读写分离

django实现读写分离

docker部署django项目mysql主从搭建django实现读写分离

Django连接多个数据库并实现读写分离

Django连接多个数据库并实现读写分离

django+centos+mariadb读写分离完美实现(上)-mysql主从备份实现