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

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

时间:2022-10-04 09:56:27浏览次数:45  
标签:meiduo 读写 分离 db Django mysql 数据库

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

django在进行数据库操作的时候,读取数据与写数据(增、删、改)可以分别从不同的数据库进行操作。

1. 在配置文件中增加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'
    }
}

2.创建数据库操作的路由分发类

在项目适当位置中创建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

3. 配置读写分离路由

在配置文件settings.py中增加:

# 配置读写分离
DATABASE_ROUTERS = ['meiduo_mall.utils.db_router.MasterSlaveDBRouter'] # 示例路径

标签:meiduo,读写,分离,db,Django,mysql,数据库
From: https://www.cnblogs.com/minqiliang/p/16753276.html

相关文章

  • Django中六个常用的自定义装饰器
    Django中六个常用的自定义装饰器 目录装饰器作用Django装饰器GroupRequiredAnonymousrequiredSuperuserrequiredAjaxrequiredTimeit自定义功能......
  • 数据库概述、什么是SQL
    什么是数据库数据库:DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据什么是数......
  • Django 出现 frame because it set X-Frame-Options to deny 错误
    一、背景使用django3进行开发时,由于项目前端页面使用iframe框架,浏览器错误提示信息如下Refusedtodisplay'http://127.0.0.1:8000/'inaframebecauseitset'X-F......
  • Django3.2前后端分离(配置)
    创建工程项目1.初始化项目步骤一:安装Django框架,安装前应确保Django的版本为LTS版,关于版本的描述见Django版本文档pipinstalldjango==3.2步骤二:创建django项目,通过d......
  • 利用ldt_struct 与 modify_ldt 系统调用实现任意地址读写
    利用ldt_struct与modify_ldt系统调用实现任意地址读写ldt_struct与modify_ldt系统调用的介绍ldt_struct​​ldt​​​是​​局部段描述符表​​​,里面存放的是进程的段描......
  • MySQL数据库入门
    ​​初识数据库​​​​MySQL操作表和表记录​​​​单表查询进阶与多表查询​​​​Python操作MySQL以及数据库索引​​​​MySQL补充和备份​​......
  • Django 框架
    目录​​Django框架​​​​django-restframework框架​​ Django框架 ​​Django框架简介​​​​Django简介以及安装​​​​Django如何自定义漂亮的404页面​​​​Dja......
  • Python+Django+Nginx的从0到1的个人网站搭建(二)
    本文介绍阿里云ESC服务器的购买以及项目部署一、服务器购买点此购买再依次点击这里我选择新用户免费试用一个月,系统选择了Ubuntu,其余根据需求自选:记住你的公......
  • 对于在网页中实现对数据库中数据的修改、删除和增加
    准备我们之前都有接触过,在数据库中对于数据的增删改查,主要包含以下四个命令://遍历查询select*from表名//插入数据insertinto表名values('','',...)//修改数......
  • 数据库建表的15个小技巧
    对于后端开发同学来说,访问数据库,是代码中必不可少的一个环节。系统中收集到用户的核心数据,为了安全性,我们一般会存储到数据库,比如:mysql,oracle等。后端开发的日常工作,需要......