为什么高效:

    1、完全基于内存,大多数请求都是内存操作,非常快速;

    2、数据结构简单,操作简单;

    3、采用单线程,避免了不必要的上下文切换和竞争条件,不存在多进程或者多线程的切换,不用考虑锁带来的性能消耗; 

    4、使用多路 I/O复用模型,非阻塞 IO

 

应用场景:

     缓存(数据查询、热点数据、商品数据、短连接、新闻内容等。(最多使用)

     单点登录SSO,session共享

     任务队列(秒杀、抢购、12306等等)

     数据过期处理(可以精确到毫秒)

     网站访问排名…应用排行榜

     网站访问统计

     聊天在线好友列表

 

性能瓶颈

    1、机器内存大小

          内存大小关系到Redis存储的数据量

     2、网络带宽

          Redis客户端执行一条命令分为四个过程:发送命令、命令排队、命令执行、返回结果。

         其中发送命令+返回结果这一过程被称为Round Trip Time(RTT 往返时间)

          Redis的客户端和服务端可能部署在不同的机器上: 例如客户端在北京,Redis服务端在上海,两地直线距离约为1300公里,那么1次RTT时间=1300×2/(300000×2/3)=13毫秒(光在真空中传输速度为每秒30万公里,这里假设光纤为光速的2/3),那么客户端在1秒内大约只能执行80次左右的命令,这就和Redis的高并发高吞吐特性背道而驰啦。

         所以一般情况下,都是就近部署!