<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 閱讀(5420) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧洲日产国码久在线观看| www国产亚洲精品久久久| 亚洲一区二区三区自拍公司| 真人无码作爱免费视频| 亚洲av无码一区二区三区乱子伦 | 亚洲成人网在线播放| 日韩精品无码专区免费播放| 亚洲午夜久久影院| 69av免费观看| 亚洲入口无毒网址你懂的| 毛片免费在线观看网址| 亚洲国产av玩弄放荡人妇| 在线观看特色大片免费网站| 亚洲成AV人片在线观看无码| 久久久久久国产精品免费无码 | 国产a v无码专区亚洲av| 国产VA免费精品高清在线| 亚洲精品你懂的在线观看| 无码一区二区三区免费| 亚洲一区二区三区国产精品无码| 久久久久久99av无码免费网站| 亚洲乱色熟女一区二区三区丝袜| 久久久精品午夜免费不卡| 亚洲一区免费在线观看| 国产视频精品免费| 两个人的视频www免费| 在线观看亚洲人成网站| 免费观看的毛片大全| 国产精品亚洲精品日韩电影| 久久精品亚洲乱码伦伦中文| 午夜视频免费在线观看| 亚洲色成人WWW永久在线观看| 全亚洲最新黄色特级网站| 久久青草免费91线频观看站街| 77777亚洲午夜久久多喷| 亚洲国产精品无码久久久久久曰 | 浮力影院亚洲国产第一页| 最近中文字幕国语免费完整| 国产亚洲美女精品久久久久| 久久精品亚洲一区二区| 中文字幕无码视频手机免费看 |