网站建设ppt演示文稿,网站地图的作用,wordpress主题视频,外贸建站推广哪家好目录 一、引言二、缓存三、Redis缓存四、缓存一致性1.缓存更新策略2.主动更新 五、缓存穿透六、缓存雪崩七、缓存击穿1.基于互斥锁解决具体业务2.基于逻辑过期解决具体业务 一、引言
在一些大型的网站中会有十分庞大的用户访问流量#xff0c;而过多的用户访问对我们的MySQL数… 目录 一、引言二、缓存三、Redis缓存四、缓存一致性1.缓存更新策略2.主动更新 五、缓存穿透六、缓存雪崩七、缓存击穿1.基于互斥锁解决具体业务2.基于逻辑过期解决具体业务 一、引言
在一些大型的网站中会有十分庞大的用户访问流量而过多的用户访问对我们的MySQL数据库无疑是一种压力不仅如此由于MySQL自身性能的原因面对过多的访问请求它的响应速度也会受限这对用户的体验也会造成影响那么我们该如何解决这些问题呢
二、缓存
缓存就是数据交换的缓冲区是存贮数据的临时地方一般读写性能较高。我们一般会将一些用户要经常访问的数据先写入到缓存中去当用户需要访问这些数据的时候我们直接从缓存中获取这些数据再返回给用户这样就可以避免对数据库的大量查询也能提高业务的效率。
三、Redis缓存
众所周知redis是一款基于内存的NoSQL数据库它的优点就是读写速度极快那我们在项目中就可以使用redis来作为我们的缓存中间件而在各大企业的实际开发过程中其实也都是使用redis来处理缓存相关的业务。 例如我们在一个查询商铺的业务流程中当我们获取的前端发送来的查询某个商铺的请求之后我们可以先在redis中查询是否有此商铺的数据如果有我们可以直接将redis中的数据返回给前端如果没有我们再去对数据库进行查询操作如果在数据库中查询到了数据我们先将此数据存入redis中然后再将数据返回给前端。
四、缓存一致性
在我们添加了redis缓存之后虽然解决了数据库压力过大的问题但是也会给我们带来一些新的问题当MySQL中的数据更新之后redis中还是之前存入的旧数据这时用户再进行访问的话就会得到旧数据这就导致了缓存与数据库中的数据不一致的问题基于这个问题我们又提出了缓存的更新策略。
1.缓存更新策略 2.主动更新
我们在实际应用中会将各种更新策略来结合使用而在各种更新策略中主动更新又是最复杂的一种接下来我们就来深入研究主动更新策略的实现。
五、缓存穿透 六、缓存雪崩 七、缓存击穿 1.基于互斥锁解决具体业务 2.基于逻辑过期解决具体业务