[转]缓存构架经验总结 – 5.3. 缓存,并发更新的大坑?
《 4. 缓存,究竟是淘汰,还是修改?》发出后,有朋友提到,高并发的情况下,缓存的更新可能存在问题,今天简单聊聊这个话题。 业务场景: (1)调用第三方服务,例如微信,一般会分配一个token,每次访问接口需要带上这个token; (2)这个token是有有效期的,当token过期时,需要去重新认证申请; (3)也可以在token过期前重新申请,但此时旧token会失效。
Just One Pure ITer
《 4. 缓存,究竟是淘汰,还是修改?》发出后,有朋友提到,高并发的情况下,缓存的更新可能存在问题,今天简单聊聊这个话题。 业务场景: (1)调用第三方服务,例如微信,一般会分配一个token,每次访问接口需要带上这个token; (2)这个token是有有效期的,当token过期时,需要去重新认证申请; (3)也可以在token过期前重新申请,但此时旧token会失效。
在《5.1 究竟先操作缓存,还是数据库?》,有同学在评论提出,相关方案违背了“Cache Aside Pattern”的原则,故今天聊一聊Cache Aside Pattern。 另外,在讨论技术方案时,尽量不说: “你是错的,应该怎么样” “facebook不是这样,所以你是错的” 画外音:凭什么facebook就是真理?它的方案只是适合它的业务而已。 说明适用场景,说明来龙去脉,说明前因后果,比具体使用什么方案更重要。
Cache in distributed Architecture
by leelight · Published September 22, 2018 · Last modified April 4, 2020
缓存存储,也是数据的冗余。 (1)数据库访问数据,磁盘IO,慢; (2)缓存里访问数据,存操作,快; (3)数据库里的热数据,可在缓存冗余一份; (4)先访问缓存,如果命中,能大大的提升访问速度,降低数据库压力; 这些,是缓存的核心读加速原理。
允许cache miss的场景,不管是memcache还是redis,当被缓存的内容变化时,是改修改缓存,还是淘汰缓存?这是今天将要讨论的话题。 问:KV缓存都缓存了一些什么数据? 答: (1)朴素类型的数据,例如:int (2)序列化后的对象,例如:User实体,本质是binary (3)文本数据,例如:json或者html (4)…
《服务通过缓存传递数据,是否可行》一文引发一个服务之间“通过缓存传递数据”设计合理性的讨论。 如上图: service-A将数据放入cache service-B从cache里读取数据 这种架构设计好还是不好,网友进行了激烈的讨论,感兴趣的同学可以看下《服务通过缓存传递数据,是否可行》的评论,看到这么多互联网技术人对一个技术方案问题进行思考与探讨,很是开心。这里,分享下个人的观点。
缓存,是互联网分层架构中,非常重要的一个部分,通常用它来降低数据库压力,提升系统整体性能,缩短访问时间。 有架构师说“缓存是万金油,哪里有问题,加个缓存,就能优化”,缓存的滥用,可能会导致一些错误用法。 缓存,你真的用对了么?
除了常见的redis/memcache等进程外缓存服务,缓存还有一种常见的玩法,进程内缓存。 什么是进程内缓存? 答:将一些数据缓存在站点,或者服务的进程内,这就是进程内缓存。 进程内缓存的实现载体,最简单的,可以是一个带锁的Map。又或者,可以使用第三方库,例如leveldb。
缓存是互联网系统架构中必不可少的一环,近一个月,写了一些缓存的文字。 1.《1. 进程内缓存究竟怎么玩?》 缓存,可以分为:进程内缓存,缓存集群。文章介绍了: (1)什么是进程内缓存 (2)进程内缓存的优缺点 (3)进程内缓存保存一致性的3种方案 (4)到底什么时候用进程内缓存
Cache in distributed Architecture
by leelight · Published September 21, 2018 · Last modified September 22, 2018
memcache和redis是互联网分层架构中,最常用的KV缓存。不少同学在选型的时候会纠结,到底是选择memcache还是redis。 画外音:不鼓励粗暴的实践,例如“memcache提供的功能是redis提供的功能的子集,不用想太多,选redis准没错”。 虽然redis比memcache更晚出来,且功能确实也更丰富,但对于一个技术人,了解“所以然”恐怕比“选择谁”更重要一些。
Redis High Avaliable Scale Architect
by leelight · Published September 19, 2018 · Last modified December 16, 2018
知乎作为知名中文知识内容平台,每日处理的访问量巨大,如何更好的承载这样巨大的访问量,同时提供稳定低时延的服务保证,是知乎技术平台同学需要面对的一大挑战。 知乎存储平台团队基于开源 Redis 组件打造的 Redis 平台管理系统,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供一键部署集群,一键自动扩缩容,Redis 超细粒度监控,旁路流量分析等辅助功能。
Follow:
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |