对于Java和PHP这类程序员,CRUD,是最常规和普遍的操作
令人作呕的CRUD,你对它麻木不仁了吗?CRUD,你真的会了吗?
需不需要以不同的视角重新省视一下呢?
譬如:
DBA的角度:什么DQL,DML之类的
运维的角度:什么主从架构,读写分离之类的
安全的角度:什么事务控制之类的
业务的角度:什么DDD业务驱动,什么CQRS职责分离之类的
学生的角度:什么重点难点,查询语句,事务,锁之类的
Java高工和架构师的角度:什么缓存,什么并发编程,什么安全编程,线程安全,事务控制,读写锁,共享锁,独占锁之类的
小伙伴们,CRUD,你真的会了吗?懂了吗?
| 读写操作 | [CRUD] | SQL | CQRS架构 | 锁1 | 锁2 | 缓存使用 | 服务器 | 数据状态 | 事务控制 | 学习策略 |
|---|---|---|---|---|---|---|---|---|---|---|
| 读操作 | [R ] | DQL | CMD命令端 | 读锁 | 共享锁 | 使用缓存 | 主master | 不受影响 | × | 难·重点 |
| 写操作 | [CUD ] | DML | Query查询端 | 写锁 | 独占锁 | 刷新缓存 | 从slave | 受影响 | √ | 事务和锁 |
术语:
- CRUD:指增、删、改、查四类操作
- C:create 增
- R:read 查
- U:update 改
- D:delete 删
- 事务:Transaction Spring本地事务注解:@Transactional
- CQRS:一种架构模式,分C端(命令端)和Q端(查询端),全称叫命令查询职责分离模式(Command Query Responsibility Segregation)
- SQL:标准查询语句(Structured Query Language)
- DQL:数据查询语言(Data Query Language),SQL的子集之一
- DML:数据操作语言(Data Manipulation Language),SQL的子集之一
- 读写分离:主要有三重考量 -- 1)性能与负载 2)数据安全 3)职责划分
超越基础:从不同视角看CRUD操作
文章探讨了对于Java和PHP程序员来说常见的CRUD操作,提出是否需要从DBA的DQL和DML、运维的主从架构、安全的事务控制、业务的DDD和CQRS以及学生和高级开发者的角度来深入理解这些基本操作。同时,提到了锁的类型、缓存使用、事务管理和读写分离等进阶话题。
259

被折叠的 条评论
为什么被折叠?



