【 Node.js 】透過 express 設定與取得 Heroku Redis 數據
內容
- 學習目標
- 前置準備作業
- 程式與軟體
- 在
Heroku部署Redis - 透過
Node.js的Express來設定與取得Redis數據 - Push 程式到
GitHub - 透過
GitHub部署程式到Heroku - 透過
Postman測試
學習目標
- 在
Heroku部署Redis - 透過
Node.js的Express來設定與取得Redis數據
前置準備作業
- 註冊 Heroku 帳號並綁定信用卡
程式與軟體
- Node.js
- npm( Node Package Manager )
- Visual Studio Code
- Git
在 Heroku 部署 Redis
Step 1. 登入到 Heroku

Step 2. 建立 App
- 點選右上角的
New➙Create new app

App name欄位- 請輸入唯一識別的名稱,本範例取名為
demo-redis-express
- 請輸入唯一識別的名稱,本範例取名為


- 點選
Create app

- 建立完成畫面

Step 3. 安裝 Redis
- 點選
Resources頁籤

Add-ons輸入redis

- 選擇
Heroku Redis

- 點選
Provision

- 安裝完成畫面

透過 Node.js 的 Express 來設定與取得 Redis 數據
Step 1. 初始化專案
- 開啟 Visual Studio Code

- 點選
Add workspace folder...

- 點選
新增資料夾

- 為專案取一個獨一無二的名稱並選擇放置路徑
- 本專案設定放於桌面的
project資料夾,並將專案命名為demo-redis
- 本專案設定放於桌面的


- 點選右下角的
Add

- 建立完成畫面

-
開啟
Visual Studio Code中的終端機-
點選
Terminal➙New Terminal
-
開啟
Terminal後的畫面 ( Terminal 位於下方紅色區域 )
-
-
Node.js 環境初始化
-
在
Terminal輸入下方指令npm init -y
-
執行完成畫面

-
-
安裝所需套件
-
在
Terminal輸入下方指令npm i dotenv express redis
-
執行完成畫面

-
package.json也能看到相關資訊
-
Step 2. 建立 Redis 相關程式
-
app.js-
建立檔案或目錄
- 在專案根目錄建立
app.js檔案
- 在專案根目錄建立
-
程式如下

-
-
index.js-
建立檔案或目錄
- 在專案根目錄建立
routes資料夾裡面再建立index.js檔案
- 在專案根目錄建立
-
程式如下

-
程式說明
- 第 4 行 : 設定 Method 為
Get的/redis路由 - 第 5 行 : 設定 Method 為
Post的/redis路由
- 第 4 行 : 設定 Method 為
-
-
redisController.js-
建立檔案或目錄
-
在專案根目錄建立
controllers資料夾裡面再建立redisController.js檔案
-
-
程式說明
- 第 11 行 : 從 Query String 中取出名為
key的值 - 第 19 行 : 從 Request Header 中取名為
key的值 - 第 20 行 : 從 Request Header 中取名為
value的值 - 第 24 行 : 設定數值存活時間為
300秒
- 第 11 行 : 從 Query String 中取出名為
-
Step 3. 建立 .gitignore 檔案
-
在專案根目錄建立
.gitignore檔案 -
程式如下

Step 4. 建立部署相關檔案
-
在專案根目錄建立
Procfile檔案 -
程式如下

Push 程式到 GitHub
Step 1. 登入 GitHub
-
網址為
https://github.com/
-
登入成功畫面

Step 2. 在 GitHub 建立 Repository
-
點選上方
Repositories
-
點選右方
New
-
Repository name欄位輸入一個獨一無二的名稱-
本範例使用
demo-redis當 Repository 的名稱

-
-
點選下方
Create repository
-
建立完成畫面

Step 3. Push 程式到 GitHub
- 在
Visual Studio Code的Terminal-
Git 初始化
git init
-
把檔案與目錄加至暫存區
git add .
-
提交檔案到版本庫
git commit -m "init demo-redis"
-
將本地與遠端儲存庫建立連結
-
此指令請參考下圖紅色框框處

-
本範例指令
git remote add origin https://github.com/ArcherHuang/demo-redis.git
-
-
上傳到 GitHub
git push -u origin master
-
GitHub 可看到所上傳的程式

-
透過 GitHub 部署程式到 Heroku
Step 1. 到 Heroku 頁面

Step 2. 部署程式到 Heroku
-
點選
Deploy頁籤
-
設定
Deployment method- 點選
GitHub

- 點選
-
點選
Connect to GitHub
-
Search for a repository to connect to欄位輸入剛才 GitHub 所建立的Repository-
本範的
Repository名稱為demo-redis

-
點選
Search
-
點選
Connect
-
-
-
使用
Manual deploy部署程式-
點選
Deploy Branch
-
部署過程

-
部署完成

-
透過 Postman 測試
Step 1. 在 Chrome 安裝 Postman
-
連結為
https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=zh-TW
Step 2. 開啟 Postman
-
Chrome➙應用程式
-
開啟畫面

Step 3. 透過 express 建立 Redis 資料
-
Request URL
[Server-URL]redis-
本範例為
https://demo-redis-express.herokuapp.com/redis -
上方的
[Server-URL]請點選下方圖示紅色處滑鼠右鍵取得複製連結網址取得
-
-
Method
- POST
-
Header
-
key: name
-
value: Archer

-
-
點選
Send
-
執行完成畫面

Step 4. 透過 express 取得 Redis 資料
-
Request URL
[Server-URL]redis?key=name-
本範例為
https://demo-redis-express.herokuapp.com/redis?key=name -
上方的
[Server-URL]請點選下方圖示紅色處滑鼠右鍵取得複製連結網址取得
-
-
Method
- GET

-
點選
Send
-
執行完成畫面 ( 在所設定的數據存活時間
300秒之內 )- 可取得數據

-
執行完成畫面 ( 在所設定的數據存活時間
300秒之外 )-
會無法取得數據

-