Redis在CentOS7下的安裝部署

基本知識

1、Redis的數據類型:  

字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

2、Redis和memcache相比的獨特之處:

(1)redis可以用來做存儲(storge)、而memcache是來做緩存(cache)。這個特點主要是因爲其有“持久化”功能

(2)存儲的數據有“結構”,對於memcache來說,存儲的數據,只有一種類型——“字符串”,而redis則可以存儲字符串、鏈表、集合、有序集合、哈序結構

3、持久化的兩種方式:

Redis將數據存儲於內存中,或被配置爲使用虛擬內存。

實現數據持久化的兩種方式:

(1)使用截圖的方式,將內存中的數據不斷寫入磁盤(性能高,但可能會引起一定程度的數據丟失)

(2)使用類似mysql的方式,記錄每次更新的日誌

4、Redis的主從同步:對提高讀取性能非常有益

5、Redis服務端的默認端口是6379

安裝Redis

1、先到Redis官網(https://redis.io/)下載redis安裝包,網盤同步:鏈接:https://pan.baidu.com/s/1ZbrtNor5p2nnWAD74CdhKw 提取碼:6o8v 

2、準備目錄和安裝包,並解壓進入

在/usr/local/下創建redis目錄,並在redis下創建etc目錄,如下:

# cd /usr/local/

# mkdir redis

# cd redis/

# mkdir etc

# ls

將安裝包用Xftp工具移動至該redis目錄下,如下:

解壓進入

# tar -zxvf redis-5.0.3.tar.gz

# cd redis-5.0.3/

3、編譯源程序與安裝

# make 

# cd src

# make install PREFIX=/usr/local/redis

4、將配置文件移動到redis目錄

# mv redis.conf /usr/local/redis/etc/

5、修改配置文件(也可用redis-cli修改,此處不再描述)

A. 默認情況,Redis不是在後臺運行,需要把redis放在後臺運行

# vim /usr/local/redis/etc/redis.conf

將daemonize的值改爲yes,如下:

https://img-blog.csdnimg.cn/20181225173336204

B. Redis保護模式是默認開啓即本機訪問,protected-mode yes修改爲關閉no

C. Redis bind默認是127.0.0.1,註釋掉或者修改爲0.0.0.0 (也可以修改爲所在服務器IP,用於監聽該網卡,例如:雲主機外網123.59.204.160,內網172.10.6.45,則改爲172.10.6.45;若爲局域網則改爲本機IP即可)

D. Redis 設置口令是默認關閉,修改爲:requirepass 123456789

6、設置redis開機自啓

# vim /etc/systemd/system/redis-server.service

粘貼加入以下內容:

[Unit]
Description=The redis-server Process Manager
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -HUP  $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
KillMode=process
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target

保存退出(:wq)

重新載入

# systemctl daemon-reload

啓動服務

# systemctl start redis-server.service

開機啓動

# systemctl enable redis-server.service

7、啓動redis服務

# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

(如下,表示以後臺啓動)

(如下,表示後臺啓動配置有誤,而控制檯啓動)

8、停止redis實例

# /usr/local/redis/bin/redis-cli shutdown

或者

# pkill redis-server

9、其他

# ps -ef |grep redis     檢查後臺進程是否正在運行,如下圖表示正在運行:

# netstat -lntp | grep 6379   檢測6379端口是否在監聽,如下:

# /usr/local/redis/bin/redis-cli  使用`redis-cli`客戶端檢測連接是否正常,如下正常:

10、防火牆開放端口

# firewall-cmd --zone=public --add-port=6379/tcp --permanent    (--permanent永久生效,沒有此參數重啓後失效)

重新載入

# firewall-cmd --reload

查看打開的所有端口

# firewall-cmd --zone=public --list-ports

Redis的配置

  • daemonize:如需要在後臺運行,把該項的值改爲yes
  • pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
  • bind:指定redis只接收來自該IP的請求,如果不設置,那麼將處理所有請求,在生產環節中最好設置該項
  • port:監聽端口,默認爲6379
  • timeout:設置客戶端連接時的超時時間,單位爲秒
  • loglevel:等級分爲4級,debug,revbose,notice和warning。生產環境下一般開啓notice
  • logfile:配置log文件地址,默認使用標準輸出,即打印在命令行終端的端口上
  • database:設置數據庫的個數,默認使用的數據庫是0
  • save:設置redis進行數據庫鏡像的頻率
  • rdbcompression:在進行鏡像備份時,是否進行壓縮
  • dbfilename:鏡像備份文件的文件名
  • dir:數據庫鏡像備份的文件放置的路徑
  • slaveof:設置該數據庫爲其他數據庫的從數據庫
  • masterauth:當主數據庫連接需要密碼驗證時,在這裏設定
  • requirepass:設置客戶端連接後進行任何其他指定前需要使用的密碼
  • maxclients:限制同時連接的客戶端數量
  • maxmemory:設置redis能夠使用的最大內存
  • appendonly:開啓appendonly模式後,redis會把每一次所接收到的寫操作都追加到appendonly.aof文件中,當redis重新啓動時,會從該文件恢復出之前的狀態
  • appendfsync:設置appendonly.aof文件進行同步的頻率
  • vm_enabled:是否開啓虛擬內存支持
  • vm_swap_file:設置虛擬內存的交換文件的路徑
  • vm_max_momery:設置開啓虛擬內存後,redis將使用的最大物理內存的大小,默認爲0
  • vm_page_size:設置虛擬內存頁的大小
  • vm_pages:設置交換文件的總的page數量
  • vm_max_thrrads:設置vm IO同時使用的線程數量
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章