Redis chính thức không hỗ trợ Windows, nhưng có thể sử dụng phiên bản do cộng đồng phát triển để thiết lập môi trường thử nghiệm.
1. Tải và cài đặt Redis cho Windows
Phiên bản Redis cho Windows có thể được tải từ kho lưu trữ GitHub: https://github.com/MSOpenTech/redis/releases
Sau khi giải nén, di chuyển thư mục vào vị trí mong muốn, ví dụ: D:\Redis.
Mở Command Prompt, điều hướng đến thư mục Redis và khởi động server bằng lệnh:
redis-server redis.windows.conf
Trong cửa sổ CMD khác, kết nối client bằng:
redis-cli.exe -h 127.0.0.1 -p 6379
2. Cài đặt môi trường Ruby
Công cụ quản lý cụm Redis (redis-trib.rb) viết bằng Ruby, do đó cần cài Ruby trước.
Tải trình cài đặt tại: https://rubyinstaller.org/downloads/ (chọn phiên bản phù hợp, ví dụ: rubyinstaller-3.1.0-x64.exe).
Khi cài, đảm bảo tích chọn các tùy chọn sau:
- Add Ruby executables to your PATH
- Associate .rb and .rbw files with this Ruby installation
Sau khi cài, kiểm tra biến môi trường PATH đã chứa đường dẫn tới thư mục bin của Ruby.
3. Thiết lập cụm Redis gồm 6 node
Một cụm Redis hoạt động ổn định cần tối thiểu 3 node master. Để thử nghiệm đầy đủ tính năng failover, nên dùng 6 node: 3 master + 3 replica.
Bước 1: Tạo thư mục cho từng node
Tạo 6 thư mục con trong thư mục Redis gốc, đặt tên theo cổng: 9000, 9001, ..., 9005.
Sao chép các file redis-server.exe và redis.windows.conf vào từng thư mục này.
Bước 2: Cấu hình từng node
Chỉnh sửa file redis.windows.conf trong mỗi thư mục với nội dung sau (thay đổi cổng tương ứng):
port 9000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
appendonly yes
Bước 3: Khởi động các node
Vào từng thư mục và chạy lệnh:
redis-server.exe redis.windows.conf
Có thể tạo file batch (.bat) để khởi động nhanh, ví dụ cho node 9000:
@echo off
title Redis-9000
redis-server.exe redis.windows.conf
4. Cài đặt gem Redis cho Ruby
Đảm bảo đã cài RubyGems. Nếu chưa, tải từ https://rubygems.org/pages/download, giải nén và chạy:
ruby setup.rb
Sau đó cài driver Redis:
gem install redis
5. Thiết lập cụm bằng redis-trib.rb
Tải script redis-trib.rb từ:
https://raw.githubusercontent.com/redis/redis/6.2/src/redis-trib.rb
Lưu file vào thư mục Redis gốc.
Chạy lệnh tạo cụm (mỗi master có 1 replica):
ruby redis-trib.rb create --replicas 1 ^
127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 ^
127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005
Script sẽ phân phối 16384 hash slot đều cho 3 master node.
6. Kiểm tra cụm Redis
Kết nối vào cụm bằng chế độ cluster-aware:
redis-cli.exe -c -p 9000
Thử lưu giá trị:
SET user:name "Alice"
Hệ thống sẽ tự động xác định node chứa key dựa trên thuật toán:
CRC16(key) % 16384
Ví dụ, key "name" có thể được lưu ở node 9001 nếu kết quả băm rơi vào dải slot mà node này quản lý.
Phân bổ slot mặc định cho 3 node master:
- Node 9000: slot 0 – 5460
- Node 9001: slot 5461 – 10922
- Node 9002: slot 10923 – 16383