1.什麼是redis?
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
2.redis的特點
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關係數據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便.
Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹複製。存盤可以有意無意的對數據進行寫操作。由於完全實現了發佈/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發佈記錄。同步對讀取操作的可擴展性和數據冗餘很有幫助。
3.redis的安裝
1.安裝:
確保已經安裝了gcc
tar zxf redis-5.0.3.tar.gz
cd redis-5.0.3
make
make install
2.啓動:
cd utils/
./install_server.sh
修改配置文件允許本機之外的訪問:
vim /etc/redis/6379.conf
再重新啓動:
/etc/init.d/redis_6379 restart
檢測:
4.實現redis的主從複製
主庫:172.25.60.1
從庫:172.25.60.2
1.從庫安裝redis,由於主庫已經安裝好redis,直接將主庫的redis目錄傳給從庫然後開始編譯:
配置文件最後需要加一行:
slaveof 172.25.60.1 6379
然後重新啓動再檢測:
可以讀取道主庫內容,但是無法寫入數據
5.部署sentinel模式
1.首先再作一臺slave:
2.在主庫:拷貝sentinel(哨兵)文件,並編輯:
3.將該文件傳給兩個從庫:
4.主從庫都開啓sentinel模式:
會看到這樣的一個圖案:
5.測試:
查看主庫信息:
查看哨兵模式信息:
關掉主庫:
172.25.60.3成爲新的主庫:
查看此時的主庫信息:
只有一個從庫了。