Redis拾遺(五)

來源:互聯網
上載者:User

標籤:資料結構   分析   高並發   sort   記憶體   key   查詢   單線程   線程   

阻塞:

Redis是典型的單線程架構,如果出現阻塞對我們的應用來說都是噩夢。導致阻塞的情境大致分為內在原因和外在原因。

內在原因:不合理的使用API或資料結構、CPU飽和、持久化阻塞等;

外在原因:CPU競爭、記憶體交換、網路問題等;

下邊就以上兩種原因分別分析:

  • 內在原因
  1. API或資料結構使用不合理:
    1. 對資料量比較大而且命令演算法複雜度是O(n)的例如hgetall等執行速度勢必很慢,在高並發情境贏避免使用演算法複雜度超過O(n)的命令;
    2. Redis原生提供慢查詢統計功能,執行slowlog get {n}可以擷取最近n條慢查詢命令,預設超過10ms會記錄到定長隊列中,線上建議設定為1ms。
    3. 修改低演算法度命令,禁用keys、sort等命令;調整大對象:防止一次命令操作過多的資料。(執行redis-cli-h{ip}-p{port} bigkeys 可以掃描出大對象);
  2. CPU飽和:
  • 外在原因

Redis拾遺(五)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.