配置Django实现数据库读写分离
? ?**django在進行數據庫操作的時候,讀取數據與寫數據(增、刪、改)可以分別從不同的數據庫進行操作。**
在配置文件中增加slave數據庫的配置
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘HOST’: ‘10.211.55.5’,
‘PORT’: 3306,
‘USER’: ‘meiduo’,
‘PASSWORD’: ‘meiduo’,
‘NAME’: ‘meiduo_mall’
},
‘slave’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘HOST’: ‘10.211.55.5’,
‘PORT’: 8306,
‘USER’: ‘root’,
‘PASSWORD’: ‘mysql’,
‘NAME’: ‘meiduo_mall’
}
}
創建數據庫操作的路由分發類
在meiduo_mall/utils中創建db_router.py
class MasterSlaveDBRouter(object):
“”“數據庫主從讀寫分離路由”""
def db_for_read(self, model, **hints):
? ? """讀數據庫"""
? ? return "slave"
def db_for_write(self, model, **hints):
? ? """寫數據庫"""
? ? return "default"
def allow_relation(self, obj1, obj2, **hints):
? ? """是否運行關聯操作"""
? ? return True
1
2
3
4
5
6
7
8
9
10
11
配置讀寫分離路由
在配置文件中增加
配置讀寫分離
DATABASE_ROUTERS = [‘meiduo_mall.utils.db_router.MasterSlaveDBRouter’]
————————————————
版權聲明:本文為CSDN博主「知閱」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_43159930/article/details/82909307
總結
以上是生活随笔為你收集整理的配置Django实现数据库读写分离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 花呗借款在哪
- 下一篇: linux cmake编译源码,linu