背景
Windows中使用Redis的安裝包很容易找到,解壓出來就可以使用。銀河麒麟中使用Redis沒有直接的安裝包,所以需要使用源碼自己編譯。
準(zhǔn)備
官網(wǎng)下載Redis源碼:Redis官網(wǎng)

筆者這里下載的是6.2.14版本,這里下載的是源碼

編譯
將源碼包導(dǎo)入到銀河麒麟主機(jī)中,筆者這里放在/opt中

解壓這個壓縮包得到源碼文件夾
tar -xvf redis-6.2.14.tar.gz

這里先進(jìn)入/usr/local/bin目錄中查看已有的文件夾,沒有關(guān)于redis的文件。這里看一下是因為后面編譯后會在此文件夾生成一些redis的執(zhí)行文件。這個文件夾是系統(tǒng)環(huán)境變量文件夾,redis編譯后把執(zhí)行文件直接輸出到這里,可以方便使用,不需要配置環(huán)境變量就可以在全局使用redis。

進(jìn)入Redis源碼文件夾,執(zhí)行編譯命令
cd /opt/redis-6.2.14
make && make install

編譯需要等待,這個長圖是拼接的,編譯過程中會有很多日志。等待編譯結(jié)束。
再進(jìn)入/usr/local/bin目錄中查看編譯后生成了Redis相關(guān)的執(zhí)行文件,其中redis-server是redis啟動文件,redis-cli是redis客戶端文件。

運行
執(zhí)行redis啟動命令,在日志中可以看到熟悉的redis界面,并且使用了6379端口
redis-server

我們在另一個窗口中使用redis客戶端連接,可以連接成功,說明redis編譯、啟動是成功的,并且使用了默認(rèn)的6379端口

關(guān)掉redis,修改/opt/redis-6.2.14/redis.conf文件,這個文件是redis的配置文件,通常我們不需要修改。上述我們直接啟動redis并沒有指定配置文件,一般也是這樣用。我們現(xiàn)在將配置文件中的端口改成6378。

啟動redis,指定配置文件
redis-server /opt/redis-6.2.14/redis.conf
看到redis一樣能啟動,并且開放的端口是6378,說明配置文件修改成功,并且啟動時配置文件也指定成功

執(zhí)行redis可以端程序,提示連接失敗,是因為默認(rèn)對127.0.0.1:6379端口進(jìn)行連接,這里我們修改了redis端口,所以連接失敗,可以在連接時加上參數(shù),指定端口進(jìn)行連接
redis-cli -h 127.0.0.1 -p 6378

配置文件
在文件夾內(nèi)先看有哪些文件

在該文件夾內(nèi)運行redis后再看文件夾內(nèi),會發(fā)現(xiàn)多了一個dump.rdb文件。
redis是將數(shù)據(jù)存儲在內(nèi)存中的,當(dāng)電腦斷電或者其它原因宕機(jī),數(shù)據(jù)就會丟失,不能持久化存儲。這也是redis快的原因。這個文件就是redis針對這一短板的設(shè)計,可以將內(nèi)存的數(shù)據(jù)存儲在硬盤上。redis會定時(具體定時規(guī)則請單獨研究,一般使用默認(rèn)就行),將內(nèi)存中的數(shù)據(jù)集寫入磁盤,存儲在這個文件內(nèi),當(dāng)redis停止,再次啟動時會將文件內(nèi)的數(shù)據(jù)讀到內(nèi)存中。

關(guān)于這個這個文件的信息可以在配置文件中定義,比如存儲位置、文件名稱。存儲路徑默認(rèn)是當(dāng)前路徑,因為redis編譯后啟動文件在系統(tǒng)環(huán)境變量中,所以在任何位置都可以啟動redis,但是默認(rèn)的文件路徑就是當(dāng)前路徑,所以你在哪里啟動,就會在哪里創(chuàng)建這個文件,時間久了會看到很多在這個rdb文件,為了防止這個文件亂跑,一般對這個路徑配置為絕對路徑。

將文件路徑修改為redis安裝路徑,文件名稱改為redis.rdb

在/home路徑下運行redis,然后查找dump.rdb,找不到這個文件,查找redis.rdb,可以在配置的路徑下找到該文件,說明配置文件修改是生效的。

后臺啟動
很多時候我們程序需要開機(jī)啟動,上電后服務(wù)器自動開機(jī),里面服務(wù)自動啟動不需要用戶去操作服務(wù)器。redis就需要自動啟動,很多程序都配置為服務(wù)開機(jī)啟動,也可以在服務(wù)器開機(jī)后初始化的地方添加啟動腳本,我們這里就在開機(jī)啟動添加腳本,Linux開機(jī)啟動腳本一般寫在/etc/rc.d/rc.local文件中,我們這里也添加了redis啟動的命令。

配置完啟動服務(wù)器后卻出現(xiàn)問題,服務(wù)器開機(jī)網(wǎng)卡啟動,其它主機(jī)能ping通服務(wù)器,但是服務(wù)器登錄界面進(jìn)不去卡住了。原因是啟動redis會有個可視化界面,這個進(jìn)程是阻塞的,在這個腳本中這樣啟動redis就會在那一行阻塞,后面的代碼就不執(zhí)行,可視化界面也出不來,因此不能這樣直接啟動。

為此redis提供了后臺啟動的配置,在配置文件中有個屬性daemonize,默認(rèn)是no,改成yes后啟動redis就沒有那個熟悉的界面,啟動后直接退出,但是redis是啟動了的。
