美文网首页
Redis的特点与注意

Redis的特点与注意

作者: 周_0717 | 来源:发表于2020-03-01 23:30 被阅读0次

一、Redis的优势:

  1. 纯内存操作,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value 数据库;
  2. 单线程工作模型,避免了上下文的切换的损耗;
  3. 采用非阻塞IO多路复用提高了CPU利用率;
  4. 通过生成rdb文件持久化储存,并利用缓冲区添加新的数据更新操作做对应的同步;
  5. 支持set,zset,list,hash,string五种数据类型存储;
  6. 提供丰富的过期策略、事务、订阅发布等支持

二、Redis的不足:

  1. 存储能力受机器内存大小限制,虽然本身有过期策略,但是还是需要提前预估和节约内存,如果内存增长过快,需要适当删除数据;
  2. 生成rdb时会占用主机的CPU;
  3. 初次启动时需要将硬盘中的数据加载进内存,这个过程耗时较长,且在此过程中,Redis无法提供服务。

三、Redis的过期策略以及内存淘汰机制;
定期删除:Redis默认每隔100ms,抽样检查(全量检查耗时太长)是否有过期的key,检查到有过期的key则删除;
惰性删除:Redis在查找数据时,会对key对有效期进行校验,若可以过期则将其删除;

四、Redis应对缓存穿透和缓存雪崩问题
4.1 缓存穿透:由于请求的数据均不在缓存当中,导致出发大量的数据库请求;
解决方案:

  • 对数据库请求添加互斥锁,缓存失效的时候,各线程先去争锁,避免数据库操作量过大(但吞吐量会下降);
  • 采用异步更新策略,无论Redis是否取到值,都直接返回,由异步线程定时更新缓存的值(需要做缓存预热,项目启动前,先加载缓存);
  • 提供一个能迅速判断请求是否有效的拦截机制,请求所携带的Key是否合法有效,如果不合法,则直接返回;
    4.1 缓存雪崩:同一时间大面积缓存失效,这个时候又来了一波请求,所有的请求都变为数据库请求;
    解决方案:
  • 给缓存的失效时间,加上一个随机值,避免集体失效;
  • 对数据库请求添加互斥锁(但吞吐量会下降);
  • 双缓存:缓存1使用正常的有效期配置,缓存2设定一个较长的有效时间或永久有效,并通过异步线程更新缓存值。先从缓存1读数据库,有则直接返回;缓存1没有数据,则去缓存2中查找,不管结果如果,都返回并跟新缓存1中对应的值;

2020-03-01

相关文章

  • Redis的特点与注意

    一、Redis的优势: 纯内存操作,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value 数...

  • Redis 基础 - 时间复杂度

    特点:Map,相当与一个简单的 Redis、field不能相同,value 可以相同 特点:有序,可以重复,左右两...

  • 一起学习redis 篇章1

    1 认识redis 1.1 redis的特点 Nosql数据库 基于内存存储 支持持久化 支持集群与主从模式 1....

  • 大数据开发系列之Redis

    nosql和sql的区别 Redis概念 Redis特点 Redis的优势 Redis的适用场景 Redis的安装...

  • Memcached与Redis各自特点

    说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcac...

  • redis特点

    优点 支持数据结构丰富 可以持久化-save 主从同步结构,便于容灾 内存数据库,速度快 缺点 单线程CPU利用不...

  • 好的文章

    Redis基础、高级特性与性能调优Redis 5种数据结构使用及注意事项

  • 看完这20道Redis面试题后,蚂蚁金服面试可以约起来了?

    1、什么是Redis,Redis有哪些特点? Redis全称为:Remote Dictionary Server(...

  • redis基本配置以及通用命令

    1.redis的特点与优点 redis基于内存,读取速度快,高性能非关系型数据库(key-value),数据类...

  • Redis基础

    非关系型数据库 NoSQL Nosql特点 Redis Redis 简介 Redis 优势 Redis 安装 Wi...

网友评论

      本文标题:Redis的特点与注意

      本文链接:https://www.haomeiwen.com/subject/msarkhtx.html