<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 中文字幕亚洲综合精品一区| 久久久久久国产精品免费无码 | 老司机亚洲精品影院在线观看| 久久精品7亚洲午夜a| 四虎影库久免费视频| 野花高清在线观看免费完整版中文 | 亚洲视频在线免费观看| 亚洲男人第一无码aⅴ网站| 性xxxx视频播放免费| 91高清免费国产自产| 久久亚洲免费视频| 国产大片免费天天看| 深夜a级毛片免费视频| 亚洲国产美女精品久久久| 亚洲AV一二三区成人影片| 亚洲精品国产成人| 少妇中文字幕乱码亚洲影视| 亚洲精品无码久久千人斩| 精品国产亚洲一区二区在线观看| 日韩成人免费aa在线看| 麻豆成人精品国产免费| 成年人免费网站在线观看| 日本在线高清免费爱做网站| 99免费在线观看视频| 精品一区二区三区免费毛片爱| 国产日韩AV免费无码一区二区| 一道本在线免费视频| 一本大道一卡二大卡三卡免费| 黄色一级视频免费| 一级黄色免费网站| 72pao国产成视频永久免费| aa午夜免费剧场| 99精品免费视品| 国产猛男猛女超爽免费视频| 任你躁在线精品免费| 免费观看91视频| 最近中文字幕mv免费高清在线 | 国产成人99久久亚洲综合精品| 亚洲精品无码99在线观看| 国产亚洲精品拍拍拍拍拍| 精品亚洲综合久久中文字幕|