登陆注册
商户查询缓存
缓存就是数据交换的缓冲区,是存贮数据的临时地方,一般读写性能较高。
缓存的作用:降低后端负载(给数据库很大的压力)。提高读写效率,降低响应时间
缓存的成本:数据一致性成本(缓存穿透,缓存击穿)。代码维护成本。运维成本(缓存雪崩,集群)
缓存更新策略: 业务场景:
低一致性需求:使用内存淘汰机制。例如店铺类型的查询缓存
高一致性需求:主动更新,并以超时剔除作为兜底方案。例如店铺详情查询的缓存
解决方案:
cache Aside Pattern
由缓存的调用者,在更新数据库的同时更新缓存
Read/write ThroughPattern
缓存与数据库整合为一个服务,由服务来维护一致性。调用者调用该服务,无需关心缓存一致性问题。
write Behind cachingPattern
调用者只操作缓存,由其它线程异步的将缓存数据持久化到数据库,保证最终一致。
操作缓存和数据库时有三个问题需要考虑:
1.删除缓存还是更新缓存?
更新缓存:每次更新数据库都更新缓存,无效写操作较多x删除缓存:更新数据库时让缓存失效,查询时再更新缓存
2.如何保证缓存与数据库的操作的同时成功或失败?
单体系统,将缓存与数据库操作放在一个事务分布式系统,利用