Redis là một hệ quản trị cơ sở dữ liệu NoSQL dạng Key-Value hoạt động hoàn toàn trên bộ nhớ (In-Memory Database). Redis được sử dụng phổ biến để cache dữ liệu, quản lý session, hàng đợi (Queue), Pub/Sub và nhiều ứng dụng yêu cầu tốc độ truy xuất cực nhanh.
Thay vì cài Redis trực tiếp lên macOS, việc sử dụng Docker giúp quá trình triển khai đơn giản hơn, dễ nâng cấp và không ảnh hưởng đến hệ thống.
Yêu cầu
Trước khi bắt đầu, bạn cần cài đặt:
-
Docker Desktop cho macOS
-
Terminal
Kiểm tra Docker đã hoạt động:
Ví dụ:
Docker version 28.3.2
Kiểm tra Docker Engine:
Nếu hiển thị danh sách container (hoặc rỗng) là Docker đã sẵn sàng.
Bước 1: Tải Redis Image
Redis cung cấp image chính thức trên Docker Hub.
Thực hiện:
docker pull redis:latest
Sau khi hoàn tất, kiểm tra:
docker images
Kết quả:
redis latest xxxxxxxxxxx 60MB
Bước 2: Chạy Redis Container
Khởi động Redis:
--name redis-server \
-p 6379:6379 \
redis:latest
Giải thích:
|
Tham số |
Ý nghĩa |
|---|---|
|
-d |
Chạy nền |
|
--name |
Đặt tên container |
|
-p 6379:6379 |
Mapping cổng Redis |
|
redis:latest |
Image Redis |
Bước 3: Kiểm tra Redis đang hoạt động
Kiểm tra container:
Ví dụ:
abc123456 redis:latest Up 5 seconds
Bước 4: Truy cập Redis CLI
Thực hiện:
Sau đó thử:
Bước 5: Kiểm tra Redis
Lệnh:
Kết quả:
Lưu dữ liệu:
Lấy dữ liệu:
Kết quả:
"admin"
Bước 6: Thoát Redis CLI
Bước 7: Dừng Redis
Bước 8: Khởi động lại
Bước 9: Xóa Redis Container
Lưu dữ liệu bằng Docker Volume
Nếu không sử dụng Volume, dữ liệu Redis sẽ mất khi xóa container.
Tạo thư mục:
Chạy:
--name redis-server \
-p 6379:6379 \
-v $(pwd)/redis-data:/data \
redis:latest \
redis-server --appendonly yes
Giải thích:
-
/data là nơi Redis lưu dữ liệu.
-
appendonly yes bật cơ chế AOF (Append Only File), giúp dữ liệu được ghi xuống ổ đĩa để tăng khả năng khôi phục sau khi khởi động lại.
Sử dụng Docker Compose
Tạo file:
services:
redis:
image: redis:latest
container_name: redis-server
restart: always
ports:
- "6379:6379"
volumes:
- ./redis-data:/data
command: redis-server --appendonly yes
Khởi động:
Kiểm tra:
Dừng:
Kiểm tra Redis từ Terminal
Nếu không muốn vào redis-cli bên trong container:
docker exec redis-server redis-cli ping
Kết quả:
Xem Log Redis
Theo dõi log realtime:
Các lệnh Docker thường dùng
|
Lệnh |
Mô tả |
|---|---|
|
docker ps |
Danh sách container đang chạy |
|
docker ps -a |
Tất cả container |
|
docker images |
Danh sách image |
|
docker stop redis-server |
Dừng Redis |
|
docker start redis-server |
Khởi động Redis |
|
docker restart redis-server |
Khởi động lại |
|
docker rm redis-server |
Xóa container |
|
docker logs redis-server |
Xem log |
|
docker exec -it redis-server redis-cli |
Truy cập Redis CLI |
Một số lệnh Redis cơ bản
PING
SET name "Docker Redis"
GET name
DEL name
KEYS *
FLUSHALL
Kết nối từ ứng dụng
Thông tin kết nối mặc định:
Port: 6379
Password: (để trống)
Ví dụ URL kết nối:
Chúc các bạn thành công.