001_Redis介绍
一. Redis官方網址
1. 英文網址: https://redis.io/
2. 中文網址: http://www.redis.cn/
二. Redis簡介
1. Redis(Remote Dictionary Server), 即遠程字典服務, 是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫, 并提供多種語言的API。從2010年3月15日起, Redis的開發工作由VMware主持。
2. Redis是一個key-value存儲系統。和Memcached類似, 它支持存儲的value類型相對更多, 包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set-有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,?而且這些操作都是原子性的。在此基礎上, Redis支持各種不同方式的排序。與Memcached一樣, 為了保證效率, 數據都是緩存在內存中。區別是Redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件, 并且在此基礎上實現了master-slave(主從)同步。
3. Redis是一個高性能的key-value數據庫。redis的出現, 很大程度補償了memcached這類key/value存儲的不足, 在部分場合可以對關系數據庫起到很好的補充作用。它提供了Java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang等客戶端, 使用很方便。
4. Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,?從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹復制。存盤可以有意無意的對數據進行寫操作。由于完全實現了發布/訂閱機制, 使得從數據庫在任何地方同步樹時,?可訂閱一個頻道并接收主服務器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗余很有幫助。
5. Redis優點
5.1. 讀寫性能優異。
5.2. 支持數據持久化, 支持AOF和RDB兩種持久化方式。
5.3. 支持主從復制, 主機會自動將數據同步到從機, 可以進行讀寫分離。
5.4. 數據結構豐富, 除了支持string類型的value外, 還支持list(鏈表)、set(集合)、zset(sorted set-有序集合)和hash(哈希類型)等數據結構。
6. Redis缺點
6.1. Redis不具備自動容錯和恢復功能,?從機的宕機都會導致前端部分讀寫請求失敗, 需要等待機器重啟或者手動切換前端的IP才能恢復。
6.2. 主機宕機, 宕機前有部分數據未能及時同步到從機, 切換IP后還會引入數據不一致的問題, 降低了系統的可用性。
6.3. Redis的主從復制采用全量復制,?復制過程中主機會fork出一個子進程對內存做一份快照,?并將子進程的內存快照保存為文件發送給從機,?這一過程需要確保主機有足夠多的空余內存。若快照文件較大, 對集群的服務能力會產生較大的影響, 而且復制過程是在從機新加入集群或者從機和主機網絡斷開重連時都會進行, 也就是網絡波動都會造成主機和從機間的一次全量的數據復制, 這對實際的系統運營造成了不小的麻煩。
6.4. Redis較難支持在線擴容, 在集群容量達到上限時在線擴容會變得很復雜。為避免這一問題, 運維人員在系統上線時必須確保有足夠的空間, 這對資源造成了很大的浪費。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的001_Redis介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 06_一对一和一对多
- 下一篇: 002_Redis安装和卸载