[转]AutoLoadCache – 再谈缓存的穿透、数据一致性和最终一致性问题
之前在聊聊架构分享的文章《面对缓存,有哪些问题需要思考?》,得到不少人的关注,在和网友们的交流中,发现大家还存在一些疑问和误区,这一次再给大家补充分享一下。
Just One Pure ITer
Cache in distributed Architecture / Redis Theory & Solutions
by leelight · Published September 17, 2018 · Last modified September 26, 2021
之前在聊聊架构分享的文章《面对缓存,有哪些问题需要思考?》,得到不少人的关注,在和网友们的交流中,发现大家还存在一些疑问和误区,这一次再给大家补充分享一下。
Cache in distributed Architecture / Redis Theory & Solutions
by leelight · Published September 17, 2018 · Last modified November 5, 2018
缓存可以说是无处不在,比如 PC 电脑中的内存、CPU 中的二级缓存、HTTP 协议中的缓存控制、CDN 加速技术都是使用了缓存的思想来解决性能问题。 缓存是用于解决高并发场景下系统的性能及稳定性问题的银弹。 本文主要是讨论我们经常使用的分布式缓存 Redis 在开发过程中的相关思考。
一、需求缘起 分页需求 互联网很多业务都有分页拉取数据的需求,例如: (1)微信消息过多时,拉取第N页消息 (2)京东下单过多时,拉取第N页订单 (3)浏览58同城,查看第N页帖子 这些业务场景对应的消息表,订单表,帖子表分页拉取需求有这样一些特点: (1)有一个业务主键id, 例如msg_id, order_id, tiezi_id (2)分页排序是按照非业务主键id来排序的,业务中经常按照时间time来排序order by
by leelight · Published September 16, 2018 · Last modified June 26, 2019
本文将以“用户中心”为例,介绍“单KEY”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践: 如何来实施水平切分 水平切分后常见的问题 典型问题的优化思路及实践
随着业务越来越复杂,数据量越来越大,并发量越来越大,数据库的性能越来越低。好不容易找运维申请了两台机器,让DBA部署了几个实例,想把一些业务库拆分出来,却发现拆不出来,扩不了容,尴尬! 因为数据库强关联在一起,无法通过增加数据库实例扩容,就是一个耦合的典型案例。
Confluent 联合创始人兼 CEO Jay Kreps 发表了一篇博文,给出了 Kafka 的真正定位——它不只是个消息系统,它还是个存储系统,而它的终极目标是要让流式处理成为现代企业的主流开发范式。
1. 一、背景 这图是2016年互联网女皇发布的互联网报告里的截图,左图是讲用户每月支付的频率,可以看到微信支付排在最前面的,大概每月支付超过50次,排在第二的是全美借记卡的支付次数。 微信支付单月支付次数大于全美借记卡+信用卡的次数总和,在这数据背后反应出移动支付时代的全面到来,同时也可以看出我们国内的移动支付,无论是产品、用户量、支付频率上,个人认为都是领先全球的。
公司要做数据分析,首先要考虑数据的准备,也就是数据平台的建设,最近接触了几个客户都处于这一环节,而且其中一个在方案选型过程中,也是充满了纠结,而我也并没有在开始阶段给出合理全面的建议。 所以根据自己的认知整理了这篇文章,一是对自己的整理,二是希望通过分享,给大家一些参考的价值。
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. |