摘要:
削去秒杀场景下的峰值写流量 而在秒杀场景下,高并发的写请求并不是持续的,也不是经常发生的,而只有在秒杀活动开始后的几秒或者十几秒时间内才会存在。为了应对这十几秒的瞬间写高峰,将秒杀请求暂存在消息队列中,然后业务服务器会响应用户“秒杀结果正在计算中”,释放了系统资源之后再处理其它用户的请求。 在后台启 阅读全文
摘要:
缓存穿透其实是指从缓存中没有查到数据,而不得不从后端系统(比如数据库)中查询的情况。 缓存穿透的解决方案 举例:如果要读取一个用户表中未注册的用户,按照旁路缓存策略,我们会先读缓存,再穿透读数据库。由于用户并不存在,所以缓存和数据库中都没有查询到数据,因此也就不会向缓存中回种数据(也就是向缓存中设置 阅读全文
摘要:
为了增大缓存系统架构的高可用,增加缓存的命中率,尽量避免请求穿透缓存进入后端数据库,主要选择的方案有客户端方案、中间代理层方案和服务端方案三大类: 客户端方案就是在客户端配置多个缓存的节点,通过缓存写入和读取算法策略来实现分布式,从而提高缓存的可用性。 中间代理层方案是在应用代码和缓存节点之间增加代 阅读全文
摘要:
旁路缓存策略 在更新数据时不更新缓存,而是删除缓存中的数据,在读取数据时,发现缓存中没了数据之后,再从数据库中读取数据,更新到缓存中。 这是使用缓存最常见的策略,旁路缓存策略,这个策略数据以数据库中的数据为准,缓存中的数据是按需加载的。它可以分为读策略和写策略,其中读策略的步骤是: 从缓存中读取数据 阅读全文