1. 程式人生 > >redis安裝,修改配置檔案,多例項部署 redis-server

redis安裝,修改配置檔案,多例項部署 redis-server

redis 安裝

解壓:

[[email protected] software]# tar -xvf redis-3.2.11.tar.gz

進入redis根目錄:

[[email protected] software]# cd redis-3.2.11/

編譯安裝:

[[email protected] redis-3.2.11]# make && make install

啟動:

[[email protected] redis-3.2.11]# redis-server

利用預設啟動的命令,佔用埠,後臺守護程序,內部其他配置引數都是寫死的。

登陸:

[[email protected] redis-3.2.11]# redis-cli

啟動客戶端連線redis服務,redis-cli -p(埠) -h(登入的服務的ip地址);不新增任何引數和選項直接使用redis-cli將會預設登入6379,預設使用ip 127.0.0.1

如果想在同一個操作控制檯啟動服務和客戶端

啟動客戶端時可以使用後臺執行命令

[[email protected] redis-3.2.11]# redis-server &(修改守護程序的開啟狀態完成後臺執行)

停止redis服務:

1 佔用控制檯的redis服務直接ctrl+c停止服務

2 在後臺執行服務的時候,登陸客戶端

6379>shutdown;

3 檢查後臺執行的redis服務

[[email protected] redis-3.2.11]# ps -ef | grep redis

redis-server 表示redis服務

*:表示能夠訪問當前redis服務的所有ip地址,都可以

如果列出一系列的ip地址,除這些ip意外的所有訪問redis服務的請求都被拒絕

redis 修改配置檔案

單例項單執行緒的redis程序不足以高效率使用cpu和記憶體資源,所以一般來講redis在同一臺機器上要啟動多個程序完成多例項部署;預設佔用6379的情況下無法完成直接的3個例項啟動,這裡我們需要了解如何通過指定配置檔案,將多例項部署在linux上

啟動redis服務的命令redis-server 沒有載入任何配置檔案指定各種各樣的配置資訊(埠指定,ip繫結,後臺執行)

例如在根目錄存在一個配置檔案的模板(大部分與預設啟動的配置相同)redis.conf

#redis-server 配置檔案的名稱

 

配置檔案(在啟動時指定的配置檔案,核心的配置檔案)

/redis根目錄/redis.conf

p61 bind 用#註釋掉

如果需要繫結監聽的ip(客戶端只有通過被繫結的ip才可以利用 redis-cli -h ip地址連結伺服器)

bing 127.0.0.1 106.75.101.219(外網可訪問當前伺服器的ip)

一旦用#註釋bind,沒有任何限制,只要可以連結伺服器,都允許使用redis

p80 保護模式不啟動

保護模式開啟,需要登入密碼,改成no

p84 6379是預設埠(要啟動其他的redis例項需要修改埠)

p105 當客戶端空閒時間達到一小時,就會自動斷開連線,0秒錶示

不啟用超時配置

p128 daemonize 設定成yes讓redis伺服器啟動有守護程序管理

(後臺執行)

p150 對應不同的redis例項,pid的檔名稱需要和埠同名

每個程序在linux或者其他作業系統中都會佔用pid號,當系統中的程序過多時,需要查詢redis程序號可能比較麻煩,直接開啟pid檔案檢視即可

P163 logfile 需要指定,利用埠號命名,放到redis根目錄

save 900(秒) 1(變動的資料條數)

當900以內,至少有1條資料變動,看是flush儲存資料到檔案

save 300 10

300秒以內至少10條資料變動,儲存檔案

save 60 10000

P237,指定dump的持久化檔案,每個服務單獨指向一個檔案,

重啟時,資料不會錯亂

redis 多例項部署

啟動第二和第三個redis例項

redis-server redis.conf(指定啟動檔案)

編輯利用vim 的替換命令

:%s/6379/6380/g

 

需要第二個例項的配置檔案

需要第三個例項的配置檔案

拷貝redis.conf,用redis6380.conf,redis6381.conf

將拷貝的檔案中只修改與埠有關內容

port

pid檔案

6381的略

 

啟動另外兩個節點

#redis-server redis6380.conf

#redis-server redis6381.conf

#ps -ef|grep redis

指定埠登入客戶端redis-cli -p [埠號] -h  [ip]

#redis-cli -p 6380

#redis-cli -p 6381