数据库与缓存的关系及用法

  对于缓存我又有了重新的认识,在这之前对缓存的认识更多的是单纯的将数据库中数据不变或者变化不频繁的数据放入缓存中,我们在读取这些数据的时候直接查询缓存而不直接查询数据,来减小服务器的压力,提高响应用户请求的速度,但缓存和数据之间的关系并不是映射的关系,数据可以与缓存之间的关系我们可以看成原材料与半成品之间的关系,比如把数据库看成菜市场,那么我们的缓存就是半成品的菜,或者是成品的菜。我们将用户的请求看成是一个点菜的动作,如果我们直接从菜市场(数据库)中去获取,那么所经历的步骤有选着原材料(数据),然后将原材料进过一系列的处理变成成品返回给用户,如果换成做的只是数据库的映射,那么就算走缓存这些步骤也一样没有变。所以缓存并不是数据库的映射,而是储存的经过处理后满足用户需求的数据,把缓存里面的数据看做成成品的菜或者半成品的菜,那么在用户点菜(请求)之后我们直接在缓存中去寻找用户需要的菜(数据),这些菜(数据)都是成品或者半成品了,我们不要复杂的加工处理,可以直接或者简单的处理之后将这些菜(数据)返回给用。在这个过程中我们省去了去菜市场(数据库),挑选原材料(数据),然后将原材料加工成菜(数据的处理)这些过程,这样一来服务器的压力会变小,同时也快速的响应了用户的请求。

  所以我感觉在缓存里面存储的不是数据库的原始数据,而是用户请求所需要的数据,我们对数据库的数据进行处理变成用户需要的数据存入缓存中。

posted @ 2018-08-17 10:42  田宝宝  阅读(1799)  评论(0)    收藏  举报