Redis 簡介、下載安裝、啟動|關閉


 

Redis簡介

Redis是一個開源的key-value數據庫,由C語言編寫,對多種編程語言提供了支持。

 

Redis的特點

  • 是內存數據庫,數據存儲在內存中,性能極高
  • 支持數據的持久化,可以將內存中的數據持久化到硬盤

  • 支持數據備份,redis存儲的數據有2份,一份在內存中,一份持久化到硬盤,會自動同步到硬盤

  • 支持hash,list,set,zset(sorted set)等多種數據結構
  • 支持事務,可使用MULTI、EXEC指令將多個操作包起來作為一個事務

  • 特性豐富,提供發布/訂閱、通知、 key 過期等特性

 

 

 redis常見的使用場景

  • 緩存數據庫查詢結果
  • 分布式系統的數據共享,比如session共享
  • 任務隊列,比如存儲秒殺、搶購、搶票等用戶|訂單隊列
  • 數據過期處理,設置一個過期時間,到期自動刪除該數據

 

 


 

 

 

Linux下安裝Redis

1、安裝gcc

redis需要自己編譯,redis是c語言寫的,所以需要安裝c語言的編譯器gcc。

先看下是否安裝了gcc,沒有安裝就裝上。

yum list --installed | grep gcc
yum install gcc

 

 

2、/usr/local下新建目錄redis,將redis下載至該目錄,解壓,刪除壓縮包

mkdir /usr/local/redis
cd /usr/local/redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -xzvf redis-5.0.7.tar.gz
rm redis-5.0.7.tar.gz

 

 

3、切換到解壓目錄下,編譯

cd redis-5.0.7
make

 

 

4、安裝redis

make install PREFIX=/usr/local/redis

指定安裝目錄為/usr/local/redis 。安裝完成后,redis/bin下有2個文件:redis-server、redis-cli。

redis-server是redis的服務器,即redis數據庫;redis-cli是redis客戶端,用來操作redis數據庫。

 

解壓的目錄里的很多程序、配置文件后續還要使用,不能刪除。

 

 


 

 

 

把redis作為服務,開機自啟

redis下新建目錄conf,把解壓目錄下的redis.conf復制到conf下;

redis下新建目錄logs,logs下新建文件redis.log;

redis下新建目錄data。

 

運行解壓目錄下的utils/install_server.sh

utils/install_server.sh

 

根據提示,選擇路徑:

其實只需指定配置文件、redis-server的路徑即可,但默認的日志保存位置、redis-server數據保存位置東一個、西一個,不好記、用時不好找,

我們自己新建文件|目錄,統一放在redis下。

檢查一下設置,按Enter安裝服務,如果路徑寫錯了按Ctrl+C取消安裝,從頭開始即可。

 

安裝好以后,看到/etc/init.d下生成了一個redis_6379腳本文件,Linux啟動時會自動執行init.d下的腳本。

安裝服務以后,默認自動開啟redis-server,並且redis-server會開機自啟。

和tomcat、redis不一樣,tomcat、redis直接在/etc/rc.d/rc.local中寫上路徑即可開機自啟,redis要指定的路徑很多,需要單獨用腳本來啟動(指定路徑)。

 

 

分析

install_server.sh的執行過程其實就是:

把utils/redis_init_script拷到/etc/init.d下,重命名為redis_$port,根據我們設置的端口號、路徑來修改redis_init_script中對應的部分,

然后把redis添加為服務、將redis服務設置為開機啟動。

redis_init_script是一個服務腳本,包含了啟動、關閉redis-server的命令。

 

我們看一下redis_init_script的部分代碼:

第一處是把redis添加為服務,第二處是把設置redis服務的開機啟動(在/etc/rc.d下添加redis_$port腳本)。

設置的服務名是redis_${REDIS_PORT},端口號一般是6379,所以服務名一般是redis_6379,

看不順眼的可以在安裝服務前把里面的redis_${REDIS_PORT}全部替換為redis,這樣服務名就是redis了。

 

所以也可以自己把utils/redis_init_script拷到/etc/init.d下,重命名這個文件,修改里面的配置,

然后chkconfig添加為服務、設置開啟等級,

至於開機啟動服務,可以把/etc/init.d下的服務腳本拷到/etc/rc.d/init.d下,開機會自動執行/etc/rc.d/init.d下的腳本;

或者在/etc/rc.d/rc.local中添加/etc/init.d下服務腳本的路徑,開機會自動執行/etc/rc.d/rc.local中指定的腳本文件;

或者直接使用 chkconfig | systemctl 將服務設置為開機自啟,都可以。

 

 


 

  

 

防火牆設置

Linux防火牆要開放6379端口,外部機器才能連接redis服務器。

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

需要重啟防火牆才會生效,不然你看到顯示success開啟成功,但外部機器依然連不上。

 

 


 

 

 

指定Redis服務器的ip地址

編輯redis.conf:

vim conf/redis.conf

 

/bind 搜索關鍵字bind,將ip修改為Linux的ip地址:

注意是虛線下面的那個。

 

默認Redis服務器的ip是127.0.0.1,只能在Linux本地才能連接上,打開了防火牆的6379端口,外部也連不上。

需要修改為Linux的ip地址。

 

重啟redis才會生效:

service redis_6379 restart

 

 


 

 

 

redis服務器啟動|關閉的3種方式

1、前台啟動

直接運行redis/bin下的redis-server,啟動后終端的這個標簽頁不能再使用,需要新建一個標簽頁來操作。

Ctrl+C或直接關閉redis所在標簽頁,即可關閉redis服務器。

不方便,不推薦使用。

 

Ctrl+C可取消|停止Linux終端正在執行的命令,C即cancel。

 

 

2、后台啟動

(1)修改redis.conf,將daemonize設置為yes

vim conf/redis.conf

一進去就是命令模式,/daemonize查找:

默認是no,將它改為yes,設置為守護進程,這樣啟動redis服務器時會后台啟動,前台沒有啟動界面。

 

 (2)啟動redis服務器

./redis-server conf/redis.conf

就是執行bin下面的redis-server,傳入配置文件的路徑。

 

(3)關閉redis服務器

./redis-cli shutdown

通過redis客戶端,向redis服務器發送關閉命令。

 

 

3、服務方式

方式一:

service redis_6379 start
service redis_6379 stop

 

方式二:

systemctl start redis_6379
systemctl stop redis_6379

 

每個人設置的服務名可能不一致,我的是redis_6379。

 

服務方式的好處:

  • 不必cd到指定目錄
  • 我們安裝服務時指定了配置文件的位置,所以也不必傳入配置文件的路徑

 

 


 

 

 

操作Redis服務器的2個工具

1、redis自帶的客戶端redis-cli

./redis-cli -h 192.168.1.7 -p 6379

-h指定redis服務器地址,-p指定redis服務器使用的端口號。缺省-h時默認為127.0.0.1,缺省-p時默認為未6379。

如果未修改redis.conf中綁定的ip,Linux上直接./redis-cli就可以連上,ip、port使用默認值即可;如果修改了redis.conf中綁定的ip,則用-h 127.0.0.1連不上,必須用綁定的ip才可以。

輸入exit或quit即可退出redis客戶端。

 

 

2、Redis Desktop Manager

下載安裝Redis Desktop Manager,這個軟件是收費的,Windows、MacOS、Linux的版本都有。

輸入ip、端口號,redis服務器默認沒有密碼,不填驗證。

先點擊“測試連接”看能不能連上,能連上才點確定。

 

 

連接失敗常見的原因:

  • 防火牆沒打開6378端口,需重啟防火牆才會生效
  • redis.conf沒有綁定Linux的ip,需重啟redis服務器才會生效

 

 

相比redis自帶的客戶端,Redis Desktop Manager可以統計數據、查看使用情況:

 

一般用redis-cli來操作數據庫,用Redis Desktop Manager來查看、分析數據|使用情況。

 

 


 

 

Redis官方只提供了Linux版,微軟自己搞了個山寨的Windows版,可以在github上下載,但基本沒公司在實際中用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM