一、Redis入门

2022-09-26

一、NoSQL

1.引子

  • 12306春节期间买票进不去,进去了刷不着票现象

  • 淘宝双十一结账,刷新半天没买到

1)特征
  • 海量用户
  • 高并发

这两个问题的出现会造成服务器瘫痪,核心原因不是应用服务器,而是关系数据库。

2)原因
  • 性能瓶颈:磁盘IO性能低下

  • 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群

    • 例如一张表,通过它的外键关联了七八张表,这七八张表又通过外键,每张表也关联了四五张表,这样我们要拿到数据,就要从这张表到那张表又到第n张表,查询效率可想而知。
3)解决
  • 降低磁盘IO次数,越低越好
  • 去除数据间关系,越简单越好

两个特征一合并一起,就出来了一个新的概念:NoSQL

2.NoSQL概念

1)1.概念

NoSQL:即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。 作用:应对基于海量用户和海量数据前提下的数据处理问题。

2)特征
  • 可扩容,可伸缩

    • SQL数据关系复杂,扩容难度高,Nosql 不存关系,扩容就简单一些。
  • 大数据量下高性能

    • 数据非常多的时候,不走磁盘IO,走内存,性能就高。
  • 灵活的数据模型、高可用

    • 有自己设置的数据存储格式,保证了高效率
3)常见 Nosql 数据库

Redis、memcache、HBase、MongoDB

4)应用场景-电商为例

第一类,在电商中我们的基础数据一定要存储起来,比如说商品名称,价格,生产厂商,这些都属于基础数据,这些数据放在MySQL数据库。

第二类,我们商品的附加信息,比如说,你买了一个商品评价了一下,这个评价它不属于商品本身。就像你买一个苹果,“这个苹果很好吃”就是评论,但是你能说很好吃是这个商品的属性嘛?不能这么说,那只是一个人对他的评论而已。这一类数据呢,我们放在另外一个地方,我们放到MongoDB。它也可以用来加快我们的访问,他属于NoSQL的一种。

第三,图片内的信息。注意这种信息相对来说比较固定,他有专用的存储区,我们一般用文件系统来存储。至于是不是分布式,要看你的系统的一个整个 瓶颈 了?如果说你发现你需要做分布式,那就做,不需要的话,一台主机就搞定了。

第四,搜索关键字。为了加快搜索,我们会用到一些技术,有些人可能了解过,像分ES、Lucene、solr都属于搜索技术。那说的这么热闹,我们的电商解决方案中还没出现我们的redis啊!注意第五类信息。

第五,热点信息。访问频度比较高的信息,这种东西的第二特征就是它具有波段性。换句话说他不是稳定的,它具有一个时效性的。那么这类信息放哪儿了,放到我们的redis这个解决方案中来进行存储。

22092603

二、Redis

文章目录

最新评论