<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    1. Schema

    MySQL: 需事先設計
    Memcached: 無需設計
    Redis: 小型系統可以不用,但是如果要合理的規劃及使用Redis,需要事先進行類似如下一些規劃

    數據項: value保存的內容是什么,如用戶資料Redis數據類型: 如String, List數據大小: 如100字節記錄數: 如100萬條(決定是否需要拆分)……

    上面的規劃就是一種schema,為什么Redis在大型項目需要事先設計schema?因為Redis服務器有容量限制,數據容量不能超出物理內存大小,同時考慮到業務數據的可擴充性,記錄數會持續增多、單條記錄的內容也都會增長,因此需要提前規劃好容量,數據架構師就是通過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一樣預先設計好拆分方案。

    posted on 2012-08-03 13:06 abin 閱讀(5418) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲免费视频播放| 亚洲精品国产肉丝袜久久| 亚洲国产成人五月综合网 | 亚洲人成网站18禁止一区| 亚洲色中文字幕无码AV| 亚洲熟妇无码爱v在线观看| 亚洲成a∨人片在无码2023| 亚洲阿v天堂在线2017免费| 96免费精品视频在线观看| 手机看片久久国产免费| 久久久久亚洲Av片无码v| 国产AV旡码专区亚洲AV苍井空| 一级毛片a免费播放王色电影| 最近中文字幕免费mv在线视频| 国产一精品一aⅴ一免费| 久久久久久亚洲精品| 亚洲一区二区三区高清在线观看| 一级黄色免费网站| a毛片基地免费全部视频| 亚洲中文字幕无码一区 | 内射少妇36P亚洲区| 久久亚洲精品无码av| 84pao国产成视频免费播放| 免费大香伊蕉在人线国产| 亚洲精品国产成人99久久| 在线精品自拍亚洲第一区| 久久久精品2019免费观看| 亚洲高清成人一区二区三区| 亚洲国产美女精品久久| 中文无码日韩欧免费视频| 免费无码又爽又刺激毛片| 久久精品国产亚洲AV无码偷窥 | www.av在线免费观看| 波多野结衣免费在线观看| 亚洲精品无码av人在线观看| 国产亚洲精品美女| 在线免费观看色片| 亚洲成a人片77777群色| 日本高清高色视频免费| 亚洲综合AV在线在线播放| 免费国产高清毛不卡片基地|