1、redis備份
* redis備份
1、利用redis-cli 登錄redis
2、執行 SAVE命令 #會阻斷redis主進程,導致客戶端法連接redis
3、config get dir命令可查看備份文件的目錄
4、也可使用bgsave后臺備份,不會阻斷主進程
#恢復
1、將備份文件放置 config get dir 獲取的目錄下
2、重啟redis 服務
* 數據遷移工具 redis-migrate-tool
2、redis集群原理,分片
redis原理:redis 3.0版本之前是不支持集群的,官方推薦最大的節點數量為1000,至少需要3(Master)+3(Slave)才能建立集群,是無中心的分布式存儲架構,可以在多個節點之間進行數據共享,解決了Redis高可用、可擴展等問題。集群可以將數據自動切分(split)到多個節點,當集群中的某一個節點故障時,redis還可以繼續處理客戶端的請求。
支撐n個redis master node,每個master node 都可以掛載多個slave node
讀寫分離的架構,對于每個master來說,寫就寫到master,然后讀就從mater對應的slave去讀
高可用,因為每個master都有slave節點,那么如果master掛掉了,redis cluster這套機制,就會將某個slave切換成master
我們只要基于redis cluster 去搭建redis集群即可,不需要手工搭建replication復制+主從架構+讀寫分離+哨兵集群+高可用
自動將數據進行分片,每個master上放一部分數據,提供內置的高可用支持,部分master不可用時,還是可以繼續工作。
redis分片:就是將數據拆分到多個 Redis 實例的過程,這樣每個實例將只包含所有鍵的子集。當數據量大的時候,把數據分散存入多個數據庫中,減少單節點的連接壓力,實現海量數據存儲。
分片部署方式一般有三種:
(1)在客戶端做分片;這種方式在客戶端確定要連接的redis實例,然后直接訪問相應的redis實例
(2)在代理中做分片;這種方式中,客戶端并不直接訪問redis實例,它也不知道自己要訪問的具體是哪個redis實例,而是由代理轉發請求和結果;其工作過程為:客戶端先將請求發送給代理,代理通過分片算法確定要訪問的是哪個redis實例,然后將請求發送給相應的redis實例,redis實例將結果返回給代理,代理最后將結果返回給客戶端
(3)在redis服務器端做分片;這種方式被稱為“查詢路由”,在這種方式中客戶端隨機選擇一個redis實例發送請求,如果所請求的內容不再當前redis實例中它會負責將請求轉交給正確的redis實例,也有的實現中,redis實例不會轉發請求,而是將正確redis的信息發給客戶端,由客戶端再去向正確的redis實例發送請求。
https://www.cnblogs.com/niyueling/p/11655787.html
redis用在了哪些環境:
java、php環境用到了redis,主要緩存有登錄用戶信息數據、設備詳情數據、會員簽到數據等
3、
4、
5、
6、
7、
8、
9、