nxv*_*xvl 2 mysql django database-replication
我有一个django应用程序与复制服务器一起工作,并配置为使用master作为只写,slave作为只读.但是当我开始监控我的数据库负载时,我发现主机有很多读取流量,经过一些调查我发现:
def get_or_create(self, **kwargs):
# Update kwargs with the related object that this
# ForeignRelatedObjectsDescriptor knows about.
kwargs.update({rel_field.name: instance})
db = router.db_for_write(rel_model, instance=instance)
return super(RelatedManager, self.db_manager(db)).get_or_create(**kwargs)
get_or_create.alters_data = True
Run Code Online (Sandbox Code Playgroud)
因此,从该代码开始,我将使用write数据库进行get_or_create所需的读取和写入操作,而不是使用slave来读取和master来按照预期"创建",是否有人遇到过此问题?除了重写get_or_create函数之外,还有其他方法来解决它吗?