缓存读写策略 Cache Aside Pattern,开发必备

我们在前面讲到了当我们业务面临大量写并发的时候,将数据库开发成分布式存储系统,然后又介绍了NoSql数据库与关系型数据库互相配合,以用来更好的服务与我们的业务发展。但随着并发的持续增加,存储数据量的增多,数据库的磁盘 IO 逐渐成了系统的瓶颈,我们需要一种访问更快的组件来降低请求响应时间,提升整体系统性能,这时我们就会使用到缓存。

至于缓存这个概念,这里就不去多说了,我相信大家都懂,也知道它的作用是为了让对数据的请求更快的返回。我们今天要说的就是,应该怎么去使用缓存,通过学习如何选择它的读写策略来应用到我们开发中。

大家是不是觉得缓存读写应该很简单啊,我先去读缓存,读到了就返回数据,读不到我就去数据库读,然后再写到缓存中去,没必要专门的讲解啊。其实当我们真正面临缓存读写的时候,是不一定的,是要根据我们业务去调整我们策略的,而且需要考虑各种因素的,不能这么简单粗暴。那接下来,我们就来看看我们开发中会z怎么做缓存的读写策略。

 

Cache Aside Pattern

Cache Aside 即为旁路缓存方案,被分为读请求和写请求,下面我们来结合案例看看该怎么去使用。

 

案例引入

现在我们有一个酒店信息表(为了大家更好的理解Cache Aside,这里不引入复杂的房型那些参数),里面有字段hotel_id,价格字段price等,缓存中按照hotel_id为key存储了这个酒店的价格(10001:100),现在的需求是要将hotel_id为10001的价格改为200,该怎么去做呢?

你可能感兴趣的:(缓存,缓存,java,读写策略,分布式)