摘要:
今天,我们来探讨一个很多人都很关心的问题:“为什么单线程的Redis能那么快?” 首先,我要和你厘清一个事实,我们通常说,Redis是单线程,主要是指Redis的网络IO和键值对读写是由一个线程来完成的,这也是Redis对外提供键值存储服务的主要流程。但Redis的其他功能,比如持久化、异步删除、集 阅读全文
posted @ 2021-08-11 15:53
brady-wang
阅读(124)
评论(0)
推荐(0)
摘要:
一提到Redis,我们的脑子里马上就会出现一个词:“快。”但是你有没有想过,Redis的快,到底是快在哪里呢?实际上,这里有一个重要的表现:它接收到一个键值对操作后,能以微秒级别的速度找到数据,并快速完成操作。 数据库这么多,为啥Redis能有这么突出的表现呢?一方面,这是因为它是内存数据库,所有操 阅读全文
posted @ 2021-08-11 15:20
brady-wang
阅读(126)
评论(0)
推荐(0)
摘要:
我们知道,Redis是典型的键值数据库,所以今天,我准备手把手地带你构建一个简单的键值数据库。为啥要这么做呢? 还记得我在开篇词说过吗?Redis本身比较复杂,如果我们一上来就直接研究一个个具体的技术点,比如“单线程”“缓存”等,虽然可以直接学习到具体的内容,甚至立马就能解决一些小问题,但是这样学, 阅读全文
posted @ 2021-08-11 15:14
brady-wang
阅读(193)
评论(0)
推荐(0)
摘要:
在上一篇文章中,我和你介绍了一主多从的结构以及切换流程。今天我们就继续聊聊一主多从架构的应用场景:读写分离,以及怎么处理主备延迟导致的读写分离问题。 我们在上一篇文章中提到的一主多从的结构,其实就是读写分离的基本结构了。这里,我再把这张图贴过来,方便你理解。 图1 读写分离基本结构 读写分离的主要目 阅读全文
posted @ 2021-08-11 11:58
brady-wang
阅读(112)
评论(0)
推荐(0)
摘要:
在前面的第24、25和26篇文章中,我和你介绍了MySQL主备复制的基础结构,但这些都是一主一备的结构。 大多数的互联网应用场景都是读多写少,因此你负责的业务,在发展过程中很可能先会遇到读性能的问题。而在数据库层解决读性能问题,就要涉及到接下来两篇文章要讨论的架构:一主多从。 今天这篇文章,我们就先 阅读全文
posted @ 2021-08-11 11:56
brady-wang
阅读(166)
评论(0)
推荐(0)
摘要:
在上一篇文章中,我和你介绍了几种可能导致备库延迟的原因。你会发现,这些场景里,不论是偶发性的查询压力,还是备份,对备库延迟的影响一般是分钟级的,而且在备库恢复正常以后都能够追上来。 但是,如果备库执行日志的速度持续低于主库生成日志的速度,那这个延迟就有可能成了小时级别。而且对于一个压力持续比较高的主 阅读全文
posted @ 2021-08-11 11:55
brady-wang
阅读(139)
评论(0)
推荐(0)
摘要:
MySQL里有很多自增的id,每个自增id都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型(unsigned int)是4个字节,上限就是232-1。 既然自增id有上限,就有可能被用完。但是,自增id用完 阅读全文
posted @ 2021-08-11 11:53
brady-wang
阅读(235)
评论(0)
推荐(0)
摘要:
不知道你在实际运维过程中有没有碰到这样的情景:业务高峰期,生产环境的MySQL压力太大,没法正常响应,需要短期内、临时性地提升一些性能。 我以前做业务护航的时候,就偶尔会碰上这种场景。用户的开发负责人说,不管你用什么方案,让业务先跑起来再说。 但,如果是无损方案的话,肯定不需要等到这个时候才上场。今 阅读全文
posted @ 2021-08-11 10:59
brady-wang
阅读(79)
评论(0)
推荐(0)

浙公网安备 33010602011771号