cache
dingqinghu
热爱生活奋斗者
展开
-
究竟先操作缓存,还是数据库?
缓存存储,也是数据的冗余。(1)数据库访问数据,磁盘IO,慢;(2)缓存里访问数据,存操作,快;(3)数据库里的热数据,可在缓存冗余一份;(4)先访问缓存,如果命中,能大大的提升访问速度,降低数据库压力;这些,是缓存的核心读加速原理。 但是,一旦没有命中缓存,或者一旦涉及写操作,流程会比没有缓存更加复杂,这些是今天要分享的话题。 读操作,如果没有命中缓存,流程是怎么样的?答:如下图所示(1)尝试从...转载 2018-07-10 20:00:31 · 2309 阅读 · 0 评论 -
缓存,究竟是淘汰,还是修改?(转)
允许cache miss的场景,不管是memcache还是redis,当被缓存的内容变化时,是改修改缓存,还是淘汰缓存?这是今天将要讨论的话题。问:KV缓存都缓存了一些什么数据?答:(1)朴素类型的数据,例如:int(2)序列化后的对象,例如:User实体,本质是binary(3)文本数据,例如:json或者html(4)...问:淘汰缓存中的这些数据,修改缓存中的这些数据,有什么差别?答:(1)...转载 2018-07-10 20:40:11 · 522 阅读 · 0 评论 -
数据库主从不一致,怎么解?
在聊数据库与缓存一致性问题之前,先聊聊数据库主库与从库的一致性问题。 问:常见的数据库集群架构如何?答:一主多从,主从同步,读写分离。如上图:(1)一个主库提供写服务(2)多个从库提供读服务,可以增加从库提升读性能(3)主从之间同步数据画外音:任何方案不要忘了本心,加从库的本心,是提升读性能。问:为什么会出现不一致?答:主从同步有时延,这个时延期间读从库,可能读到不一致的数据。如上图:(1)服务发...转载 2018-07-10 20:56:34 · 7700 阅读 · 2 评论