优秀的程序员都喜欢拥抱新技术( 八 )

最后 , 如果在项目中长期使用 , 就会发现技术的缺陷与不足 , 或者说与项目的实际需求不匹配的情况 , 这个时候要么改造它 , 要么重新换轮子(或者造轮子)

以redis为例

以redis为例 , 如果我只是希望简单了解 , 作为知识储备 , 那么我会跟着Tutorial简单使用一下 , 然后读一遍介绍文档 , 了解redis的各种特性 , 能做到哪些事情 。

而redis本身也是一个分布式缓存 , 那么如果我的重点在于“分布式” , 那么我会关心redis是如何水平扩展的 , 如何保证高可用的 。 这个时候 , 可能就是要看看相关的Specification 。

那如果要在项目中使用呢 , 取决于使用方式与使用程度 。 如果只是做缓存 , 数据不持久化 , 那么就不用关心存储问题 。

如果数据规模不大 , 也不用考虑可用性 , 那么使用standalone这种单点redis就行了 , 也就不用掌握sentinel + master slave , redis cluster 或者codis , 这样代码写起来简单 , 运维的复杂度也低了很多 。

推荐阅读