目录
  1. 1. Redis
    1. 1.1. NoSql的出现
      1. 1.1.1. 第三阶段
      2. 1.1.2. 第四阶段
      3. 1.1.3. NoSql(Not Only SQL)
redis

Redis

NoSql的出现

###第一阶段

当一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。很多的都是静态网页,动态交互型的网页不多。

###第二阶段

数据量的总大小,一个机器放不下,还有访问量的上升,几乎大部分使用MySql架构的网站在数据库上都出现了性能问题。开始大量使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。刚开始流行的是通过文件缓存来缓解数据库的压力,但是当访问量持续增加的时候,多台Web机器通过文件缓存不能共享,大量的小文件缓存也带来了较高的IO压力。这个时候,Memcached就出现了。即Memcached+MySql+垂直拆分

第三阶段

MySql主从读写分离。由于数据库写入压力的增加,Memcached只能缓解数据库的读取压力,读写集中在一个数据库上不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。MySql 的Master-Salve模式成为了网站的标配了。

第四阶段

分库分表+水平拆分+MySql集群。当MySql主库的写压力开始出现瓶颈,而数据量的持续猛增,由于MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发MySql应用开始使用InnoDB引擎代替MyISAM。(InnoDB是行锁)。

但是MySql还是有扩展性 的瓶颈:如存储大文本字段导致数据库表特别大,在做数据库恢复的时候就特别慢。关系型数据库很强大,但是它不能很好的应付所有的应用场景,大数据下IO压力大,表结构更改困难,正是当前使用MySql的开发人员遇到的困难。

现在:

NoSql(Not Only SQL)

泛指非关系型数据库。这些类型的数据存储不需要固定的模式,无需多余的操作就可以横向扩展。

特点:

  1. 易扩展,去掉了关系型数据库的关系型特征。数据之间无关系,这样就非常容易扩展。
  2. 大数据量高性能
  3. 多样灵活的数据模型。无需事先为存储的数据建立字段,随时可以存储自定义的数据格式。
文章作者: Dr-xinyu
文章链接: https://dr-xinyu.github.io/2021/04/02/redis/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 心雨
打赏
  • 微信
  • 支付寶