天天看點

Redis為什麼會比MySQL快?

1.Redis是基于記憶體存儲的,MySQL是基于磁盤存儲的

2.Redis存儲的是k-v格式的資料。時間複雜度是O(1),常數階,而MySQL引擎的底層實作是B+Tree,時間複雜度是O(logn),對數階。Redis會比MySQL快一點點。

3.MySQL資料存儲是存儲在表中,查找資料時要先對表進行全局掃描或者根據索引查找,這涉及到磁盤的查找,磁盤查找如果是按條點查找可能會快點,但是順序查找就比較慢;而Redis不用這麼麻煩,本身就是存儲在記憶體中,會根據資料在記憶體的位置直接取出。

4.Redis是單線程的多路複用IO,單線程避免了線程切換的開銷,而多路複用IO避免了IO等待的開銷,在多核處理器下提高處理器的使用效率可以對資料進行分區,然後每個處理器處理不同的資料。

繼續閱讀