Redis笔记1: NoSQL入门门和概述、单机MySQL的瓶颈、缓存和读写分离

需积分: 0 0 下载量 59 浏览量 更新于2024-01-20 收藏 2.9MB PDF 举报
本文主要讨论了关于Redis的一些笔记内容。首先介绍了NoSql的概述,指出了单机MySQL在数据量、数据索引和访问量等方面可能遇到的瓶颈。之后介绍了通过缓存来缓解数据库压力的方法,并提到了这种方法的一些缺点。接着提到了主从读写分离技术的应用,以及在此基础上出现的新的瓶颈。最后介绍了分表分库和MySQL集群的水平拆分方法,以及在此基础上主库写压力出现的瓶颈。 首先,我们简要介绍了NoSql的概述,指出了单机MySQL可能遇到的瓶颈。例如,当数据量太大时,单台机器无法放下所有数据;当数据的索引超过内存容量时,单台机器无法满足高效的查询需求;当访问量过大时,单个MySQL实例无法承受高并发的读写请求。为了缓解这些问题,我们引入了缓存技术。 然而,缓存技术也存在一些缺点。当访问量进一步增大时,多台Web服务器通过文件缓存无法共享数据,导致缓存不一致的问题;大量小文件缓存也会带来较高的IO压力。为了解决这些问题,我们引入了主从读写分离技术。 主从读写分离技术可以通过将读操作分配到从库上来减轻主库的读取压力。然而,当读写集中导致数据库无法承受重负时,主从读写分离也会出现瓶颈。为了解决这个问题,我们介绍了主从复制技术。 主从复制技术可以通过将主库的写操作同步到从库上来实现读写分离。这时,网站的标配模式是使用MySQL的主从模式。然而,在数据量持续增长的情况下,由于MyISAM存储引擎的局限性,主库的写操作也会出现瓶颈。 为了进一步解决这个问题,我们介绍了分表分库和MySQL集群的水平拆分方法。通过将数据分散到多个表和多个数据库中,可以有效地提高写入性能。此时,网站的架构图包括高速缓存、MySQL主从复制和读写分离的基础上,还使用了分表分库和MySQL集群。 总结来说,本文主要介绍了Redis的一些笔记内容。从NoSql的概述开始,我们逐步介绍了缓存技术、主从读写分离技术和分表分库和MySQL集群的水平拆分方法,以及它们解决的问题和可能遇到的瓶颈。通过这些技术的应用,可以提高网站的性能和扩展性,满足大规模数据处理的需求。