今天看啥  ›  专栏  ›  石杉的架构笔记

5个方案告诉你:高并发环境下,先操作数据库还是先操作缓存?

石杉的架构笔记  · 公众号  ·  · 2019-08-31 10:00
公众号后台回复“学习”,获取作者独家秘制精品资料前言在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。缓存维护方案一假设有一写(线程A)一读(线程B)操作,先操作缓存,在操作数据库,如下流程图所示1)线程A发起一个写操作,第一步del cache2)线程A第二步写入新数据到DB3)线程B发起一个读操作,cache miss,4)线程B从DB获取最新数据5)请求B同时set cache这样看,没啥问题。我们再看第二个流程图,如下:1)线程A发起一个写操作,第一步del cache2)此时线程B发起一个读操作,cache miss3)线程B继续读DB,读出来一个老数据4)然后老数据入ca ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照