redis為什么比數據庫快 為啥Redis/Mongo這么快,就不能直接替代mysql嗎?
為啥Redis/Mongo這么快,就不能直接替代mysql嗎?你好,我是一名互聯網行業(yè)開發(fā)工程師,同時也是高質量vlog領域的創(chuàng)造者。歡迎關注我!目前互聯網緩存中間件大多使用redis、mongodb
為啥Redis/Mongo這么快,就不能直接替代mysql嗎?
你好,我是一名互聯網行業(yè)開發(fā)工程師,同時也是高質量vlog領域的創(chuàng)造者。歡迎關注我
!目前互聯網緩存中間件大多使用redis、mongodb等NoSQL數據庫,解決方案比較成熟。但是為什么要使用關系數據庫呢?一般來說,單線程的處理能力要比多線程差,但redis速度快的原因主要有以下幾點:1。純內存訪問,redis將所有數據放入內存,內存的響應時間約為100納秒,這是redis實現每秒10000級訪問的重要基礎。
2. 非阻塞io。Redis使用epoll作為I/O復用技術的實現。此外,redis自己的事件處理模型將epoll中的連接、讀寫和關閉轉換為事件,不會在網絡I/O上浪費太多時間。單線程避免了線程切換和爭用的消耗。
單線程的優(yōu)點:1。簡化了數據結構和算法的實現。
2. 避免線程切換和爭用的消耗。對于服務器,鎖和線程切換通常是性能殺手。
單線程問題:每個命令的執(zhí)行時間都有要求。如果執(zhí)行一個命令,它將阻止其他命令,這對高性能服務redis是致命的。因此,redis是一個用于快速執(zhí)行場景的數據庫。