redis是乙個開源的、基於記憶體的、key-value資料庫,並提供多種語言的api。
redis是乙個儲存系統,它指出儲存的value型別相對多,包括string、list(鍊錶)、set(集合)、zset(有序集合)。這些資料型別都支援push/pop、add/remove等操作。redis為了保證效率,將資料快取在記憶體中,同時會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並在此基礎上實現了主從同步(將主資料庫中的資料複製到從資料庫,主從同步指資料可以同步修改)。redis是乙個高效能的資料結構儲存系統,它可以用作資料庫、快取和訊息中介軟體。
因為redis是基於記憶體的操作,cpu不是redis的瓶頸,單執行緒容易實現。redis的瓶頸可能是機器記憶體大小或者網路頻寬。且它在單執行緒模式下已經很快了。
(1)redis完全基於記憶體,絕大部分請求是純粹的記憶體操作。
(2)資料結構簡單,資料操作也簡單。redis中的資料結構是專門進行設計的。
(3)使用多路io復用模型,非阻塞io.
(4)因為是單執行緒,無需考慮加鎖放鎖操作,不會出現死鎖問題。
io multiplexing ,也稱為事件驅動io,利用select、poll、epoll同時處理多個網路連線的io,當有io事件時,從阻塞態喚醒,然後程式就輪詢一遍所有的流(epoll只輪詢真正發出了事件的流),依次順序地處理就緒的流。多路指多個網路連線,復用指復用同乙個執行緒。
C 面試準備日記 static
1 從設計思想上看,c 是物件導向的語言,c是面向過程的結構化程式設計。2 從語法上看,c 具有封裝 繼承 多型三種特性 c 增加了許多態別安全功能,比如強制型別轉換 c 支援正規化程式設計,比如模板類 函式模板等。定義全域性靜態變數 區域性靜態變數 靜態函式 類的靜態成員 類的靜態函式。1 全域性...
Redis學習筆記1 Redis介紹
目錄 1 redis是什麼 2 redis的特點 3 redis 優勢 4 redis與其他key value儲存有什麼不同?附 什麼是bsd協議 附 什麼是原子性,什麼是原子性操作?redis是乙個開源的 高效能的 基於鍵值對的快取與儲存系統,通過提供多種鍵值資料型別來適應不同場景下的快取和儲存需...
1 Redis 安裝與執行
一 windows 環境安裝 執行 redis3.2 win32.zip 到解壓目錄下執行redis server.exe redis.windows.conf redis.windows.conf 是redis的配置檔案,在後續的文章中會進行講解 成功執行後的視窗不能關閉,不然相當於關閉的資料庫 ...