雲伺服器安裝redis及與SpringBoot的整合測試

2020-10-13 11:00:59

前言

本文將講解如何在雲伺服器上(本文使用的是阿里雲,系統為CentOS 7)安裝並設定redis以及在本地通過cmdSpringBootRedis Desktop Manager等在本地進行連線測試,此外我使用的是Xshell通過ssh連線伺服器,關於Xshell如何設定ssh連線伺服器,本文不做介紹,如果你有問題的話,可以在評論區留言。

安裝redis

因為本文只是為了進行基本的安裝與本地測試的演示,所以直接就隨便選了個版本進行測試(5.0.9),到官網進行下載即可,如果你也打算使用5.0.9這個最新版本,直接點選連結即可。下載完畢後,我們就先開啟Xshell連線到伺服器,並切換到home/目錄下,然後將我們剛才下載的安裝包上傳到該目錄下(如果使用的Xshell,直接將資料夾拖到命令列介面即可自動上傳,或如果失敗的話,使用Xftp進行上傳也很方便),並解壓,然後再隨便下載一下gcc,以免由於缺少gcc導致之後的編譯失敗:

cd /home
tar -xvf redis-5.0.9.tar.gz 
yum -y install gcc-c++

注意

在選擇redis的版本時,不建議選擇太新的版本,尤其在編譯時,經常會由於版本問題而編譯失敗,這對於剛入門的時候,真的會讓我們十分沮喪,本文使用的5.0.9版本在測試時未出現錯誤,為了保險,你可以再選擇稍低一些的版本。

然後進行該目錄下,先進行編譯:

cd redis-5.0.9/
make

編譯安裝完成後,我們可以進行測試,看看是否可以啟動使用了:

cd src
./redis-server

如果出現以下介面,就說明安裝成功了:

image-20201012105432507

設定redis

然後我們使用ctrl + c退出,開始後續的設定。為了之後的操作方便,我們先進行一些檔案的移動:

cd ..                     # 回到 redis 5.0.9 目錄下
mkdir bin
mkdir conf
mv redis.conf conf/
cd src
mv redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server ../bin/
cd ..

然後我們進入到conf目錄下,將redis.conf備份到一個test.conf檔案:

cd conf
cat redis.conf | grep -v "#" | grep -v "^$" > test.conf

設定防火牆和伺服器安全組

在進行之後的操作之前,我們先開啟一下防火牆的6379埠並進行伺服器的安全組設定:

systemctl start firewalld
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports	# 檢視開放的埠

然後在伺服器的安全組中進行設定:

image-20201012113721401

設定遠端存取

然後我們再繼續回到對redis的設定,開啟我們備份的test.conf檔案,然後將檔案改成以下內容:

bind 0.0.0.0
protected-mode no     
port 6379
daemonize yes         # 後臺執行 redis
requirepass password  # 具體密碼按自己情況修改, 如果按這樣密碼就是 password

然後用我們自己的組態檔來啟動redis

./redis-server ../conf/test.conf

然後我們先在本地進行測試:

./redis-cli
127.0.0.1:6379> auth password # 按自己的實際密碼進行替換
127.0.0.1:6379> set name butterfly
127.0.0.1:6379> get name      # 若輸出 butterfly 說明一切正常

本地連線測試

  • cmd測試

如果本機為windows,那麼需要先到GitHub上下載windows版本的redisGitHub的官網地址可以點這裡,如果想直接下載,點選連結即可下載3.0.504版本。安裝完成後,我們就可以進行測試,這裡假設你的Redis檔案目錄為D:\Redis,開啟命令列,輸入以下命令:

D:\Redis\redis-cli.exe -h host -p 6379 # 將這裡的 host 替換為你的遠端地址即可

然後輸入以下命令,列印OK即說明連線成功:

auth password # 將這裡的 password 替換為你自己的密碼

如果你在以上步驟跟我一樣在伺服器上測試時輸入了set name butterfly,那麼你這裡也可以使用get name進行驗證。

  • Redis Desktop Manager

下載資源、安裝、及基本使用方法可以參考這篇部落格,在登入成功後,開啟我們的連線,即可看到我們之前設定的值:

image-20201012124637621

  • SpringBoot整合測試

最後進行SpringBoot的整合測試,由於只是為了演示,所以這裡直接使用jedis連線方式,並且使用了IDEA來建立專案:

image-20201012125056041

image-20201012125156709

之後一路next即可,在專案初始化完成後,我們先在pom.xml新增以下依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>

然後直接寫測試程式碼即可:

image-20201012133644344

可以發現測試成功(這裡的hostpassword均需改為自己的真實內容),附程式碼如下:

Jedis jedis = new Jedis("host", 6379);
jedis.auth("password");
System.out.println(jedis.get("name"));

總結

本文簡單的介紹瞭如果在雲伺服器上安裝redis環境,並在本地進行連線測試,希望能夠對你有所幫助。