zoukankan      html  css  js  c++  java
  • Redis容量及利用计划

    在利用Redis过程当中,咱们发明了很多Redis分歧于Memcached,也差别于MySQL的特点。
    (本文首要会商Redis未启用VM撑持环境)

    1. Schema

    MySQL: 需事先设计
    Memcached: 无需设计
    Redis: 小型体系能够不消,可是若是要公道的计划及利用Redis,必要事前停止近似以下一些计划

    • 数据项: value保留的内容是什么,如用户材料
    • Redis数据范例: 如String, List
    • 数据大小: 如100字节
    • 记实数: 如100万条(决议是不是需求拆分)
    • 商场

    下面的规划便是一种schema,为何Redis在大型名目需要事先计划schema?由于Redis办事器有容量限定,数据容量不克不及超越物理内存巨细,同时斟酌到营业数据的可扩大性,纪录数会延续545d118729af6e08aa7ec09a73535cf三、单笔记录的内容也城市增加,是以需要提早规划好容量,数据架构师便是经由过程schema来判定以后业务的Redis是否需要“分库分表”以知足可扩大需要。

    2. 容量及带宽规划

    容量规划
    MySQL: < 硬盘大小
    Memcached: < RAM
    Redis: < RAM

    带宽规划
    由于Redis比MySQL快10倍以上,因此带宽也是需要事先规划,防止带宽跑满而泛起瓶颈。

    3. 机能规划(QPS)

    当体系读写呈现瓶颈,凡是怎样处理?
    MySQL
    写: 拆分到多办事器
    读: (1) 拆分 (2) 写少也可以通过增长Slave来办理

    Memcached
    读写: 都通过hash拆分到更多节点。

    Redis:
    写:拆分
    读: (1) 拆分 (2) 写少也可以通过增加Slave来解决

    4. 可扩展性

    MySQL: 分库分表
    Memcached: hash散布
    Redis:也可以分库,也能够hash漫衍

    小结

    通过以上阐明,Redis在良多方面同时具有MySQL及Memcached使用特性,在某些方面则更像MySQL。
    因为Redis数据不克跨越内存巨细,一方面需要举行事介绍量规划,包管容量充足;另一方面设计上需要避免数据范围无穷制增添,进而致使Redis不成扩展。
    Redis需要象MySQL同样预先设计好拆分计划。

  • 相关阅读:
    C#综合揭秘——细说事务
    软件项目管理流程总结
    WCF揭秘——自定义绑定
    WCF揭秘——共享数据契约
    反流程升职记
    .NET基础篇——利用泛型与反射更新实体(ADO.NET Entity Framework)
    先睹为快:Visual Studio 11测试版已于2.29在微软官方网站正式发布
    .NET基础篇——分部类和分部方法
    C#综合揭秘——深入分析委托与事件
    .NET基础篇——反射的奥妙
  • 原文地址:https://www.cnblogs.com/aini521521/p/7771385.html
Copyright © 2011-2022 走看看