Redis之高級命令、主從複製、哨兵

一、redis高級命令

    1、keys * :返回滿足的所有鍵(可以模糊匹配);

    2、exists:是否存在指定的key;

    3、expire:設置某個key的過期時間,使用ttl 【key】查看剩餘時間;(expire key 【時間】:時間以秒爲單位)

    4、persist:取消過期時間;(persist key)

    5、select:選擇數據庫 數據庫爲0到15(一個16個數據庫)默認進入的是0數據庫;(select 1:進入數據庫1)

    6、move【key】【數據庫下標】:當前數據中的key轉移到其他數據庫中;

    7、randomkey:隨機返回數據庫裏的一個key;

    8、rename:重命名key;

    9、echo:打印命令;

    10、dbsize:查看數據庫的key數量;

    11、info:獲取數據庫信息;

    12、config get * :返回所有配置;

    13、flushdb:清空當前數據庫;flushall清空所有數據庫;

二、redis安全性(可作了解)

    因爲redis速度相當快,所以一臺比較好的服務器下,一個外部用戶在一秒內可以進行15e次的密碼嘗試,這意味着你需要設定非常強大的密碼來防止暴力破解。

    1、vim編輯redis.conf文件,找到下面進行保存:

            找到:#requirepass foobared

            在其下一行設置:requirepass 【密碼】

    2、重啓服務器:pkill redis-server

            再次進入redis,執行:keys * ,會發現沒有權限進行查詢;

            執行命令:auth 【密碼】;

            OK輸入密碼則成功進入;

    3、每次進入的時候都要輸入密碼,還有中簡單的方式:【root@bhz~】# /usr/local/redis/bin/redis-cli -a 【密碼】

三、主從複製

    1、定義:A、Master可以擁有多個slave;

                    B、多個slave可以鏈接同一個master外,還可以連接到其他的slave;

                    C、主從複製不會阻塞master,在同步數據時master可以繼續處理client請求;

                    D、提供系統的伸縮性;

    2、主從複製過程:A、slave與master建立連接,發送sync同步命令;

                                B、master會開啓一個後臺進程,將數據庫快照保存到文件中,同時master主進程會開始收集新的寫命令並緩存;        

                                 C、後臺完成保存後,就將文件發送給slave;

                                 D、slave將此文件保存到硬盤上;

    3、主從複製配置:clone服務器之後修改slave的IP地址

                                  修改配置文件:/usr/local/rdies/etc/redis.conf

                                  第一步:找到slaveof,設置:slaveof 【masterip】【mastport;

                                  第二部:masterauth 【master-password】;(如果主服務器沒有密碼,可以不用設置此項)

                                  使用info查看role角色即可知道是主服務或從服務;

四、哨兵

    定義:有了主從複製實現以後,我們如果想對主從服務器進行監控,那麼redis2.6以後提供了一個”哨兵“的機制,在2.6版本中的哨兵爲1.0版本,並不穩定,會出現各種問題,在2.8以後的版本哨兵功能才穩定起來,顧名思義,哨兵的含義就是監控Redis系統的運行狀況,其主要功能有兩點:A、監控主數據庫和從數據庫是否正常運行;B、主數據庫出現故障時,可以自動將從數據庫轉換爲主數據庫,實現自動切換;

    實現步驟:在其中一臺從服務器配置sentinel.conf

                    1)、從redis的安裝包中copy文件sentinel.conf到/usr/local/redis/etc中;

                    2)、修改sentinel.conf文件:

                            sentinel monitor mymaster 192.168.1.121 6379 1 #名稱、ip、端口,投票選舉次數;                                                           sentinel down-after-milliseconds mymaster 5000 #默認1s檢測一次,這裏配置超時5000毫秒,爲宕機 ;

                            sentinel failover-timeout mymaster 900000

                            sentinel parallel-syncs mymaster 2 (2表示從節點的數量)

                           (sentinel can-fallover mymaster yes)

                    3)、啓動sentinel哨兵:/usr/local/redis/bin/redis-server /usr/local/redis/etc/sentinel.conf --sentinel &

                    4)、查看哨兵相關信息命令:/usr/local/redis/bin/redis-cli -h 192.168.1.121 -p 26379 info Sentinel

                    5)、關閉主服務器查看集羣信息:/usr/local/redis/bin/redis-cli -h 192.168.1.121 -p 6379 shutdown



        










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章