1. 程式人生 > >redis資料庫的安裝及CAP理論

redis資料庫的安裝及CAP理論

1.資料庫中的CAP原理:CAP+BASE C:Consistency(強一致性) A: Availability(可用性) P: Partition tolerance(分割槽容錯性) CAP的3進2 CAP理論的核心是:一個分散式系統不可能同時很好的滿足一致性,可用性和分割槽容錯性這三個需求 最多隻能同時較好的滿足兩個. 因此,根據CAP原理將NoSQL資料庫分成了滿足CA原則,滿足CP原則和滿足AP原則三大類 CA - 單點叢集, 滿足一致性, 可用性的系統,通常在可擴充套件性上面不是很強 CP - 滿足一致性, 分割槽榮忍性的系統, 通常效能不是特別的高 AP - 滿足可用性, 分割槽容忍性的系統, 通常可能對一致性要求低點
CAP理論就是分散式儲存系統中, 最多隻能實現上面的兩點 而由於當前網路硬體肯定會出現延遲丟包等問題, 所以 分割槽容忍性是我們必須需要實現的. 所以我們只能在一致性和可用性之間進行權衡, 沒有Nosql資料能同時滿足這一點 CA 傳統Oracle資料庫 AP 大多數網站架構的選擇(電商網站) CP Redis.   Mongodb 一致性和可用性的抉擇       很多web實時系統不要求嚴格的資料庫事務,  對讀一致性要求很低,  有些場合對寫要求不是 很高, 允許實現最終一致性. 資料庫的寫實時性和讀實時性要求        對關係型資料庫來說, 插入一條資料之後立刻查詢, 是肯定能讀出這條資料的,但是對很多
web應用來說,並不需要這麼高的實時性, 比方說發一條資訊之後, 過幾秒或幾十秒之後,我的訂閱者 才看到這條動態是完全可以接受的. BASE 就是為了解決關係資料庫強一致性引起的問題而引起的可用性降低而提出的解決方案 BASE其實是下面三個術語的縮寫:      基本可用 (Basically Available)      軟狀態 (Soft state)       最終一致 (Eventually consistent) 它的思想是通過讓系統放鬆對某一時刻資料一致性的要求換取系統整體伸縮效能上的改觀,為什麼這麼說呢 由於大型系統往往由於地域分佈和極高效能的要求, 不能能採用分散式事務來完成這些指標,要想獲取這些指標,我們必須採用另一種方式來完成, 這裡BASE就是解決這個問題的辦法.
2.redis 的安裝 2.1.是什麼      redis是完全開源免費的, 用C語言編寫的, 遵守BSD協議,是一個高效能的(key/value)分散式的資料庫, 是當前最熱門的nosql資料庫之一,也被人們稱為資料結構伺服器. Redis 與其他key -value 快取產品有以下三個特點          redis支援資料的持久化          redis不僅僅支援簡單的Key_value型別的資料,同時還提供List,set,zset,hash等資料結構的cunc          redis 支援資料的備份, 及master -slave模式的資料備份 2.2 去拿下 2.3安裝      下載獲得redis-3.0.4.tar.gz後將它放入我們的Linux目錄/opt       /opt目錄下, 解壓命令: tar -zxvf redis-3.0.4.tar.gz       解壓完成後出現資料夾:redis-3.0.4       進入目錄:cd redis-3.0.4       在redis-3.0.4目錄下執行make命令              執行make命令是出現的錯誤解析                    安裝gcc                             yun install gcc-c ++(gcc是Linux一個編譯程式, 是C程式的編譯工具)                    二次make                    jemalloc/jemalloc.h:沒有那個檔案或目錄 執行make distclean之後再make                    Redis Test(可以不用執行)        如果make完成後繼續執行make install        檢視預設安裝目錄:usr/local/bin        備份cp /opt/redis-3.0.4/redis.conf  /myredis/redis.conf(一般不會再出廠配置檔案裡面操作)        修改後臺啟動:/myredis/redis.conf    daemonize no 改為yes                 
          redis啟動:                   進入usr/local/bin目錄,執行 redis-server /myredis/redis.conf                   執行:redis-cli -p 6379
           
             關閉redis命令:shutdown