Redis主從和集群搭建

前期準(zhǔn)備

使用的操作系統(tǒng)是os x系統(tǒng), 已經(jīng)安裝了redis(我這里是使用brew進(jìn)行安裝).

redis主從環(huán)境搭建

這里假設(shè)搭建一個(gè)master, 一個(gè)slave的環(huán)境(多個(gè)slave的環(huán)境搭建類似)

  1. /usr/local/etc目錄下查找redis的配置文件, redis.conf文件
  2. 拷貝redis.conf文件, 重命名成redis6380.conf
  3. 修改redis6380.conf配置文件中的以下配置:
 port 6380
 slaveof 127.0.0.1 6379
   masterauth <master-password>(如果master主機(jī)設(shè)置了auth密碼則要進(jìn)行設(shè)置)
  1. 分別啟動mater和slave, 啟動時(shí)指定配置文件(不指定默認(rèn)使用redis.conf)
 redis-server <PATH-TO-REDIS.CONF>/redis.conf   // 啟動master
 redis-server <PATH-TO-REDIS6380.CONF>/redis6380.conf // 啟動slave

master:


redis-master

slave:


redis-slave
  1. 使用客戶端連接redis進(jìn)行操作, 連接時(shí)要指定端口
 redis-cli -p 6379 // 連接到master
 redis-cli -p 6380 // 連接到slave

注意: 默認(rèn)情況下slave服務(wù)只能進(jìn)行讀操作, 要是想讓slave也能進(jìn)行寫操作, 則需要修改slave-read-only no, 這樣就能對slave進(jìn)行寫操作, 但是對slave的寫操作不會同步到master中.

redis集群搭建

  1. 新建3個(gè)目錄, 目錄名是端口號
  2. 每一個(gè)目錄中都放一份redis.server執(zhí)行文件(方便后面的執(zhí)行, 不是必要的)和一份redis.conf配置文件
  3. 修改每個(gè)目錄中的redis.conf配置文件中的以下屬性
cluster-config-file nodes-<port>.conf(只要3個(gè)配置的文件名不一樣即可)
daemonize yes
cluster-enabled yes
cluster-node-timeout 5000
  1. 進(jìn)入到每個(gè)目錄, 使用命令./redis-server redis.conf啟動redis
  2. 安裝ruby(已經(jīng)安裝的跳過, mac應(yīng)該是自帶ruby的)
  3. 安裝redis的ruby模塊 [sudo] gem install redis
  4. 從redis的源碼中下載src/redis-trib.rb文件(這個(gè)ruby用于管理redis的集群, 例如slots的設(shè)置)
  5. 啟動集群, ruby <redis-trib.rd-path> create <--replicas 1>(用于創(chuàng)建master-slave 模式, 設(shè)置每個(gè)master有1個(gè)slave) 127.0.0.1:7000 127.0.0.1:7001...
  6. 使用redis-cli -p <port>指定任意一個(gè)端口, 就可以連接redis的集群了

cluster:

redis-cluster
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容