文章目錄
- 一 Redis 容器化部署指南
- 1 獲取 Redis 鏡像
- 2 服務啟動
- 2.1 首次啟動新容器
- 2.2 重啟已有容器
- 3 服務驗證
- 4 連接 Redis
- 5 數據持久化方案
- 5.1 使用 Docker 卷
- 5.2 啟用 AOF 持久化
- 6 容器管理
- 6.1 停止容器
- 6.2 刪除容器
- 7 數據清理
- 7.1 清空 Redis 數據
- 7.2 完全移除
- 7.3 刪除數據卷
- 8 最佳實踐
- 二 Redis 常用命令速查指南
- 1 進入 Redis 終端
- 2 安裝 nano 編輯器
- 3 查找 redis.conf 配置文件
- 4 獲取 Redis 服務器信息
- 5 啟用持久化配置
- 6 檢查 AOF 持久化狀態
- 7 查看容器日志
- 三 Python腳本連接Redis的實踐
- 四 其它
- 1 Redis基礎數據操作命令
- 2 Redis鍵管理命令
- 3 Redis數據結構命令
- 4 Redis持久化與性能相關命令
一 Redis 容器化部署指南
1 獲取 Redis 鏡像
docker pull redis:7.2-alpine # 獲取輕量級最新版本
2 服務啟動
2.1 首次啟動新容器
docker run -d -p 6379:6379 --name myredis redis:7.2-alpine # 返回容器ID表示成功
- 參數說明:
-d
:后臺運行容器(detached模式)
-p 6379:6379
:容器到主機的端口映射
--name myredis
:容器命名
redis:7.2-alpine
:指定鏡像版本
2.2 重啟已有容器
docker start myredis
3 服務驗證
docker ps -f name=myredis # 檢查容器狀態
4 連接 Redis
docker exec -it myredis redis-cli # 可附加參數:-h <host> -p <port> -a <password>
- 參數說明:
docker exec
:在運行中容器執行命令
-it
:交互式終端
redis-cli
:Redis命令行工具
-h/-p/-a
:遠程連接參數
5 數據持久化方案
5.1 使用 Docker 卷
docker run -d -p 6379:6379 -v redis-data:/data --name myredis redis:7.2-alpine
- 說明:
-v redis-data:/data
將數據目錄掛載到卷
5.2 啟用 AOF 持久化
docker run -d -p 6379:6379 --name myredis redis:7.2-alpine redis-server --appendonly yes
- 說明:
--appendonly yes
啟用操作日志記錄
6 容器管理
6.1 停止容器
docker stop myredis # 持久化數據不受影響
6.2 刪除容器
docker rm myredis # 未持久化的數據將丟失
7 數據清理
7.1 清空 Redis 數據
docker exec -it myredis redis-cli FLUSHALL # 保留容器
7.2 完全移除
docker stop myredis
docker rm myredis
7.3 刪除數據卷
docker volume rm redis-data
8 最佳實踐
- 推薦使用 Docker 卷或目錄掛載實現數據持久化
- 配置持久化后,容器停止不會影響數據安全
二 Redis 常用命令速查指南
1 進入 Redis 終端
docker exec -it myredis sh
- 參數說明:
docker exec
:在運行中的容器內執行命令
myredis
:目標容器名稱
sh
:啟動Shell終端(通常為/bin/sh
)
注:sh與bash功能等價
2 安裝 nano 編輯器
apk add --no-cache --virtual .editors nano
- 參數說明:
--no-cache
:跳過本地緩存,直接從遠程倉庫獲取最新版本
--virtual .editors
:創建.editors虛擬包組,便于后續批量卸載
nano
:輕量級終端文本編輯器
3 查找 redis.conf 配置文件
find / -name redis.conf 2>/dev/null
- 參數說明:
/
:從根目錄開始遞歸搜索
-name redis.conf
:精確匹配文件名
2>/dev/null
:屏蔽權限錯誤提示
4 獲取 Redis 服務器信息
redis-cli INFO server
- 參數說明:
INFO
:Redis狀態查詢命令
server
:返回版本號、運行時長等核心數據
5 啟用持久化配置
redis-cli CONFIG SET appendonly yes
redis-cli CONFIG REWRITE
6 檢查 AOF 持久化狀態
docker exec -it myredis redis-cli CONFIG GET appendonly
# 返回yes表示已啟用AOF持久化
7 查看容器日志
docker logs myredis
用于調試和監控Redis運行狀態
三 Python腳本連接Redis的實踐
import redis# 初始化Redis連接,設置主機、端口和編碼等參數
r = redis.Redis(host='127.0.0.1', port=6379, decode_responses=True, encoding='utf-8', max_connections=100# 如需密碼驗證,添加password參數
)try:# 測試連接print('Redis連接測試:', r.ping())# 存儲和獲取數據r.set('name', 'Alice')print('獲取name值:', r.get('name'))# 計數器操作r.incr('counter', 5)print('計數器增加5后的值:', r.get('counter'))# 刪除和檢查鍵r.delete('name')print('檢查name鍵是否存在:', r.exists('name'))print('檢查counter鍵是否存在:', r.exists('counter'))except redis.exceptions.ConnectionError as e:print('連接錯誤:', e)# 預期輸出
"""
Redis連接測試: True
獲取name值: Alice
計數器增加5后的值: 25
檢查name鍵是否存在: 0
檢查counter鍵是否存在: 1
"""
容器化部署注意事項:當Redis運行在Docker容器中且Python腳本位于另一容器時,需將host參數設為Redis容器名稱(如’myredis’)或內部網絡IP地址。
四 其它
1 Redis基礎數據操作命令
SET key value
設置鍵值對,例如SET username "admin"
將username
存儲為"admin"
。
GET key
獲取鍵的值,如GET username
返回存儲的"admin"
。
DEL key
刪除鍵,如DEL username
移除username
鍵及其值。
2 Redis鍵管理命令
KEYS pattern
查找匹配模式的鍵,如KEYS *
列出所有鍵。
EXISTS key
檢查鍵是否存在,返回1
或0
。
EXPIRE key seconds
設置鍵的過期時間,例如EXPIRE session_id 3600
使session_id
在 3600 秒后失效。
3 Redis數據結構命令
LPUSH list_key value
向列表左側插入值,如LPUSH tasks "task1"
。
RPOP list_key
移除并返回列表右側的值。
HSET hash_key field value
設置哈希字段值,如HSET user:id1 name "Alice"
。
HGET hash_key field
獲取哈希字段的值,如HGET user:id1 name
返回"Alice"
。
4 Redis持久化與性能相關命令
SAVE
手動觸發 RDB 持久化,將數據同步保存到磁盤。
BGSAVE
后臺異步保存數據到磁盤,不阻塞客戶端請求。
INFO
查看 Redis 服務器狀態信息,包括內存、客戶端、持久化等數據。