缓存技术是用来提升程序运行性能的常见手段,如你所见, 阿里巴巴、新浪微博、美团网等互联网龙头企业都是用缓存技术来提升自己家网站的性能。然而,任何事物都有两面性, 缓存技术使用得当带来的好处自然不言而喻, 但是如果使用不当, 产生的副作用也够让人喝一壶的。

我们写服务器程序时,使用缓存的目的无非就是减少数据库访问次数降低数据库的压力和提升程序的响应时间, 然而根据具体的使用场景又可以派生出无数种情况, 比如说

程序频繁读取数据库, 但是查询获得的结果却总是相同的,这部分相同的结果是不是可以放入缓存 ?

获得查询结果要进行复杂的运算,非常消耗时间, 运算结果是不是可以放入缓存 ?

有一些在网站每个页面都需要使用的数据, 比如说用户数据, 是不是可以放入缓存 ?

还有另外不胜枚举等等各种情况,概括起来就是那些变化不那么频繁, 从源头读取又显得耗费资源和性能的数据, 是不是都应该放入缓存 ?

既然身为行业技术风向标的淘宝、美团、新浪里面的技术大牛们都在使用缓存技术, 那么咱们自然也得跟上他们的脚步。 然而不知道大家有没有听到有这样一种流传甚广说法:“在选择一样东西前,请先问一下自己,我喜欢吗? 我适合吗?我需要吗?”, 具体到我们在工作中选择使用某种技术,喜欢其实不应该是左右我们选择某项技术的关键