1.了解Redis与其应用场景(理解)

问题的出现:

  • 常见现象:春运时12306网页崩溃,双十一淘宝和京东连连卡顿…

  • 分析原因特征:大量用户同时访问同一数据,即海量数据和高并发。

  • 根本原因:关系型数据库

    • 性能瓶颈:磁盘IO性能低下。数据交换:CPU—>cache—>内存—>硬盘,数据一层层传递导致性能低下。

    • 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群。在关系型数据库中,常常一张表需要关联多张表,错综复杂的关系使得数据牵一发而动全身,导致数据不便于扩展。

  • 解决思路:

    • 降低磁盘IO次数,越低越好——将数据存储在内存
    • 去除数据间关系,越简单越好——不存储数据关系,仅存储数据

    也就是,Nosql。

NoSql:

  • NoSql:即Not-Only SQL(泛指非关系型数据库),作为关系型数据库的补充

  • 作用:应对基于海量用户和海量数据前提下的数据处理问题。

  • 特征(相比较于关系型数据库):

    • 可扩容,可伸缩
    • 大数据量下高性能
    • 灵活的数据模型
    • 高可用
  • 常见的NoSql模型:Redis、memcache、HBase、MongoDB

  • 应用场景:数据库存储固定的基本数据,其余类型的数据根据其特征存放在不同的地方,一起对外提供服务。
    在这里插入图片描述

Redis

  • 概念:Redis(Remote Dictionary Server),即远程字典服务,是用C语言开发的一个开源的高性能键值对(key-value)数据库。
  • 特征:
    1. 数据间没有必然的联系
    2. 内部采用单线程机制进行工作
    3. 高性能。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s。
    4. 多数据类型支持:字符串(string)、列表(list)、散列(hash)、集合(set)、有序集合(sorted_set)。
    5. 持久化支持。Redis可以进行灾难性恢复,比如突然断电的情况。通过将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用来保证数据的可恢复。
    • 应用场景:
      • 为热点数据加速查询(主要应用场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等。
      • 任务队列,如秒杀、抢购、购票排队等。
      • 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数等。
      • 时效性信息控制,如验证码控制(比如验证码五分钟之内有效)、投票控制等。
      • 分布式数据共享,如分布式集群架构中的session分离。
      • 消息队列。
      • 分布式锁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值