簡介
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
Redis 是一個高性能的key-value數據庫。Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合能夠對關係數據庫起到很好的補充做用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。數據庫
優勢:
1 Redis讀寫性能優異,從內存當中進行IO讀寫速度快,支持超過100K+每秒的讀寫頻率。
2 Redis支持Strings, Lists, Hashes, Sets,Ordered Sets等數據類型操做。
3 Redis支持數據持久化,支持AOF和RDB兩種持久化方式
4 Redis支持主從複製,主機會自動將數據同步到從機,能夠進行讀寫分離。
5 Redis的全部操做都是原子性的,同時Redis還支持對幾個操做全並後的原子性執行。
6 Redis是單線程多CPU,這樣速度更快。由於單線程,沒有線程切換的開銷,不須要考慮加鎖釋放鎖,也就沒有死鎖的問題。單線程-多路複用IO模型。效率高。網絡
缺點:
1 主從同步,數據同步會有延遲,若是主機宕機,宕機前有一部分數據沒有同步到從機,會致使數據不一致。
2較難支持在線擴容,在集羣容量達到上限時在線擴容會變得很複雜。在系統上線時必須確保有足夠的空間,這對資源形成了很大的浪費。less
Redis免費入門課程推薦:阿里雲大學—開發者課堂memcached