1.安裝redis
? ??????第一步:redis的源碼包上傳到linux系統(tǒng)喧枷。
????????第二步:解壓縮redis伞辛。
????????第三步:編譯溢豆。進(jìn)入redis源碼目錄币绩。make
????????第四步:安裝蜡秽。make install PREFIX=/usr/local/redis
????????PREFIX參數(shù)指定redis的安裝目錄府阀。一般軟件安裝到/usr目錄下
2.后臺啟動
????????把redis源碼目錄下的redis.conf復(fù)制到/usr/local/redis/bin目錄下,并將daemonize屬性修改成yes
3.啟動
? ? ? ? 啟動服務(wù):? ? ? ??
? ? ? ? cd /usr/local/redis/bin
? ??????./redis-server redis.conf
? ? ? ? 啟動客戶端:
? ??????默認(rèn)連接localhost運(yùn)行在6379端口的redis服務(wù)芽突。
? ???????./redis-cli
? ? ? ? 指定服務(wù)器地址和端口號:
? ??????-h:連接的服務(wù)器的地址
????????-p:服務(wù)的端口號
? ? ? ???./redis-cli -h 192.168.xx.xxx -p 6379
4.關(guān)閉redis
? ??????./redis-cli shutdown
5.Redis集群
5.1redis-cluster
? ??????redis-cluster架構(gòu)圖:
????????redis-cluster投票:容錯
? ??????
????????架構(gòu)細(xì)節(jié):
????????(1)所有的redis節(jié)點(diǎn)彼此互聯(lián)(PING-PONG機(jī)制),內(nèi)部使用二進(jìn)制協(xié)議優(yōu)化傳輸速度和帶寬.
????????(2)節(jié)點(diǎn)的fail是通過集群中超過半數(shù)的節(jié)點(diǎn)檢測失效時才生效.
????????(3)客戶端與redis節(jié)點(diǎn)直連,不需要中間proxy層.客戶端不需要連接集群所有節(jié)點(diǎn),連接集群中任何一個可用節(jié)點(diǎn)即可
????????(4)redis-cluster把所有的物理節(jié)點(diǎn)映射到[0-16383]slot上,cluster 負(fù)責(zé)維護(hù)node<->slot<->value
????????Redis集群中內(nèi)置了 16384 個哈希槽试浙,當(dāng)需要在 Redis 集群中放置一個 key-value 時,redis 先對 key 使用 crc16 算法算出一個結(jié)果寞蚌,然后把結(jié)果對 16384 求余數(shù)田巴,這樣每個 key 都會對應(yīng)一個編號在 0-16383 之間的哈希槽,redis 會根據(jù)節(jié)點(diǎn)數(shù)量大致均等的將哈希槽映射到不同的節(jié)點(diǎn)
5.2集群的搭建
? ??????Redis集群中至少應(yīng)該有三個節(jié)點(diǎn)挟秤。要保證集群的高可用壹哺,需要每個節(jié)點(diǎn)有一個備份機(jī)。
Redis集群至少需要6臺服務(wù)器艘刚。
? ? ? ? PS:搭建偽分布式管宵。可以使用一臺虛擬機(jī)運(yùn)行6個redis實例攀甚。需要修改redis的端口號箩朴,每個redis的端口號不一樣
5.3集群環(huán)境
? ? ? ? 1.安裝ruby:
????????????????yum install ruby
????????????????yum install rubygems
? ? ? ? 2.安裝ruby腳本運(yùn)行使用的包:
? ??????????????gem install redis
? ? ? ? ? ? ? ? PS:如果報redis requires Ruby version >= 2.2.2.Ruby版本錯誤。解決辦法是 先安裝rvm秋度,再把ruby版本提升至2.3.3
? ? ? ? ? ? ? ? 安裝curl:
? ??????????????yum?install?curl
? ??????????????安裝RVM:
? ??????????????curl?-L?get.rvm.io?|?bash?-s?stable
? ??????????????source /etc/profile.d/rvm.sh
? ??????????????查看rvm庫中已知的ruby版本:
? ??????????????rvm list known
? ??????????????安裝一個ruby版本:
? ??????????????rvm install?2.3.3
? ??????????????使用一個ruby版本:
? ??????????????rvm use?2.3.3
? ??????????????設(shè)置默認(rèn)版本:
? ??????????????rvm remove?2.0.0
? ??????????????卸載一個已知版本:
? ??????????????ruby?--version
? ??????????????再安裝redis:
? ??????????????gem install redis
5.4搭建步驟
????????1:創(chuàng)建redis-cluster目錄隧饼,并將剛剛安裝的redis復(fù)制6份到這個目錄,每個實例運(yùn)行在不同的端口静陈。需要修改redis.conf配置文件燕雁。配置文件中還需要把cluster-enabled yes前的注釋去掉。?
? ??????2:啟動每個redis實例鲸拥。
????????3:把redis源碼里的redis-trib.rb復(fù)制到redis-cluster目錄拐格,使用腳本搭建集群。
? ??????????????./redis-trib.rb create --replicas 1 192.168.xx.xx:7001 192.168.xx.xx:7002 192.168.xx.xx:7003 192.168.xx.xx:7004 192.168.xx.xx:7005 192.168.xx.xx:7006
? ? ? ? ? ? ? ? ps: --replicas 1表示每個redis有一臺備份機(jī)
5.5測試集群
? ??????redis1/redis-cli -p 7001 -c
? ? ? ? ps: -c代表連接的是redis集群