前言
成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力:编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。
这几种能力之间的关系大概如下图。编程能力、调试能力和编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力和业务架构能力方面有所成就。具备了一定的性能优化能力和业务架构能力之后,才能在线运维能力和项目管理能力方面表现优越。团队管理能力是最高能力,它对项目管理能力的依赖度更大。
缓存维护方案一
如果是一读(线程B)一写(线程A)操作,「先操作缓存,再操作数据库」。流程图如下所示:
-
1.线程A发起一个写操作,第一步del cache
-
2.线程A第二步写入新数据到DB
-
3.线程B发起一个读操作,cache miss缓存失效了。
-
4.线程B从DB获取最新数据
-
5.线程B执行set cache,把从DB读到的数据,更新到缓存。
「这样看,没啥问题」。我们再看第二个流程图,如下: