iT邦幫忙

0

Redis 學習筆記(3)-部署單機 Redis

  • 分享至 

  • xImage
  •  

Redis 學習筆記(3)-部署單機 Redis

本文是有關 Redis 的學習筆記的一部分,相關目錄請參考 Redis 學習筆記(1)-簡介

在上一篇中瞭解了Redis的特性後,我們需先建立Redis環境,我們選擇在Docker環境中部署Redis。

1. 測試環境架構

我的測試環境架構如下:
https://ithelp.ithome.com.tw/upload/images/20220610/20149259NX83zVRcFB.png?o=2022-06-09_01.png

針對上圖結構再進一步說明:

  • 先有一架PC(或 Notebook)
  • 在 PC 上安裝 VM (使用 VirtualBox 6.1)
  • 啟動一架 VM (OS: CentOS 7, 名稱為: c7a1)
  • 在 c7a1 VM 中啟動 Docker 服務(dockerd 程序)
  • 在 Docker 啟動 Redis 容器
  • 待 Redis 容器啟動後,就可連入使用 Redis

其他額外資訊:

  • c7a1 VM 使用的 IP 為 10.0.2.11
  • 在 VirutalBox 有設定 port mapping 為 PC:6379 --> c7a1:6379
  • Redis 容器當前最新版本為 7.0.0,使用該版本

2. 在 c7a1 上部署 Redis 容器

整個部署操作大約要作到下列事項:

  • 建立 Volume: 讓資料寫入,滿足持久化要求。
  • 建立設定檔: 指定資料路徑,和 RDB & AOF 的設定參數
  • 啟動容器

以 root 身份登入 c7a1 VM 後,依下方各細項說明執行。

2.1 建立 Volume

依下列 Docker 指令,建立 Redis 使用的 Volume

docker volume create redis

下方為強制清除未使用的 Volume 指令,有需要時可以使用

docker volume prune -f

2.2 建立設定檔

依下列 shell 指令執行(直接複製+黏貼),設定檔會產生在 /root/config/redis.conf 路徑。相關參數已在檔案中自說明。

cd
mkdir config

cat << EOF | tee ./config/redis.conf
# 所有 IP 都綁定
bind 0.0.0.0
# 資料所在路徑
dir /data/
protected-mode yes
# 設定密碼為 mypwd
requirepass mypwd

## 啟動 RDB 機制
dbfilename dump.rdb
#  RDB 快照觸發條件如下
# after 900 sec (15 min) if at least 1 key changed
save 900 1    
# after 300 sec (5 min) if at least 10 keys changed
save 300 10
# after 60 sec if at least 10000 keys changed
save 60 10000

## 啟動 AOF 機制 和相關參數設定
appendonly yes
appendfsync everysec

EOF

2.3 啟動 Redis 容器

依下列 shell 指令執行(直接複製+黏貼),可啟動容器

cd

## 啟動 redis 容器
docker run --rm --name redis -d -p 6379:6379 \
-v ${PWD}/config:/etc/redis/ -v redis:/data/ \
redis:7 redis-server /etc/redis/redis.conf

## 檢視容器是否啟動
docker ps -f name=redis

起動成功後,可依下列指令進入該容器

## 進入 redis 容器
docker exec -it `docker ps -f name=redis -q` /bin/bash

進入該容器成功後,可依下列指令連入 Redis

## 在容器內進入 redis-cli
redis-cli -h localhost -p 6379

連入 Redis 成功後,可依下列指令輸入密碼取得授權

auth mypwd

取得授權 成功後,可依下列指令檢視 Server 狀況

info server

最後得到輸出如下圖:
https://ithelp.ithome.com.tw/upload/images/20220610/20149259VQy17GrO7d.png?o=2022-06-09-02.png

3. 結論

若可以得到最後輸出,表示已成功啟動 Redis 容器,之後可在該容器上學習 Redis 相關功能。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言