1 由于单一数据库读写压力变大,采用读写分离的方式,主库用来写数据,从库用来读数据
2 redis缓存问题:公司中一些首页目录是存放在redis缓存中的,我的目的是修改首页目录的内容,
修改方案就是 首先删除缓存,然后将修改的数据写入数据主库当中,当用户访问的首页目录会先走缓存,缓存中没有 就会走数据库从库
但是 我发现修改后,缓存中的数据 删除前和删除后没有变化,然后就去数据库里找数据,发现从库的数据也变了,为啥缓存中的数据没变?
经过排查,发现主库同步从库的时候会有延迟,用户从 从库查询数据的时候 ,主库的最新数据还没有同步到主数据库中
解决办法:强一致性:用户发现缓存中没有数据,需要从数据库读数据的时候 强制让他从主数据库里面查询
弱一致性,给redis中的数据设置过期时间,这样保证数据库缓存和数据库的一致性