一、redis 主從架構
搭建redis 主從 (可以用一台主機,也可以兩台主機)
環境准備:
一台服務器:192.168.206.6
操作系統:CentOS7.5
redis 版本: redis-5.0.0
開始部署:
1>拷貝一份配置文件(作為從配置文件)
cp redis.conf slave-6380.conf
2>編輯從配置文件
# bind 從節點ip
slaveof :( 誰的從) 寫主的ip
注:因為我這是在一台物理機上所有修改一個端口, 如果是兩台物理機可以不做修改
3>啟動配置文件使其生效
4>查看進程
5>連接測試
#1主:
#2從
&測試
&
同步成功
二、 redis集群 (多主多從)
工作原理:
集群中的每個節點都是平等的關系,都是對等的,每個節點都保存各自的數據和整個集群的狀態。每個節點都和其他所有節點連接,而且這些連接保持活躍,這樣就保證了我們只需要連接集群中的任意一個節點,就可以獲取到其他節點的數據。
Redis 集群沒有並使用傳統的一致性哈希來分配數據,而是采用另外一種叫做哈希槽 (hash slot)的方式來分配的。redis cluster 默認分配了 16384 個slot,當我們set一個key 時,會用CRC16算法來取模得到所屬的slot,然后將這個key 分到哈希槽區間的節點上。
Redis 集群會把數據存在一個 master 節點,然后在這個 master 和其對應的salve 之間進行數據同步。當讀取數據時,也根據一致性哈希算法到對應的 master 節點獲取數據。只有當一個master 掛掉之后,才會啟動一個對應的 salve 節點,充當 master 。
需要注意的是:必須要3個或以上的主節點,否則在創建集群時會失敗,並且當存活的主節點數小於總節點數的一半時,整個集群就無法提供服務了。
搭建redis 集群 (6台主機,實現三主三從,這里圖省事用一台主機)
環境准備:
一台服務器:192.168.206.6
操作系統:CentOS7.5
redis 版本: redis-5.0.0
1>編輯6個配置文件
port 6379 #綁定端口
bind 192.168.206.6 #綁定對外連接提供的ip
daemonize yes #開啟守護進程
pidfile 6379.pid #進程文件名
cluster-enabled yes #是否是集群
cluster-config-file 6379_node.conf #集群配置文件
cluster-node-timeout 15000 #集群連接超時時間
appendonly yes #數據持久化類型
2>啟動配置文件生效
3>創建集群
redis-cli --cluster create 192.168.206.6:6379 192.168.206.6:6380 192.168.206.6:6381 192.168.206.6:6382 192.168.206.6:6383 192.168.206.6:6384 --cluster-replicas 1
#ok
4>連接redis
&測試
&測試2
&測試3
&測試宕機
&