权衡替换 Django 核心组件

尽量不要替换 Django 核心组件,除非你了解:

  • 可能无法使用一些或全部的第三方应用包
  • 不能使用 Django admin 应用
  • 你已花费大量时间使用核心组件来创建你的应用,但是发现这些核心组件是主要问题所有
  • 你已对代码进行了分析,找出了主要的问题所在
  • 你已尝试了其它所有的可能方案,包括缓存等
  • 你的项目是一个实时的,有大量用户的网站。即不是在没有根据的情况下进行预优化
  • 你已评估了 SOA 模式,发现不适合
  • 你了解 Django 升级后,代码的相应修改会很难

非关系型数据库和关系型数据库

使用关系型数据库来持久化数据的项目也会使用一些非关系型数据库,如使用 Memcached 来缓存,或使用 Redis 实现队列。但是用非关系型数据库完全取代关系型数据库需要考虑清楚。

不是所有的非关系型数据库都兼容 ACID

ACID 含义:

Atomicity 原子性指一个事务要么全部成功要么全部失败。
Consistency 一致性指所有事务会使数据保存在一个有效状态。
Isolation 独立性指并行处理的数据不会在事务间有关联或发生冲突。
Durability 持续性指一旦事务提交,它的结果即便在数据库服务器关闭后还会保存完好。

没有这些特性,数据都有破坏的可能。

不要使用非关系型数据库处理关系型任务

不随大流,要自己做研究评估

参考文献: Two Scoops of Django: Best Practices for Django 1.8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值