Giải pháp 1:Lưu trữ dữ liệu của các mô-đun khác nhau trong các phiên bản Redis khác nhau
Sự cô lập nghiêm ngặt nhất là lưu trữ dữ liệu của từng mô-đun trong một phiên bản Redis riêng lẻ, tức là một quy trình Redis riêng lẻ.
Giải pháp 2:Lưu trữ dữ liệu của các mô-đun khác nhau trong các cơ sở dữ liệu khác nhau của một phiên bản Redis duy nhất
Một phiên bản Redis có thể có nhiều cơ sở dữ liệu và bạn có thể định cấu hình số lượng cơ sở dữ liệu trong tệp cấu hình. Theo mặc định, có 16 cơ sở dữ liệu.
Các cơ sở dữ liệu này được đặt tên với chỉ mục số dựa trên số không. Với lệnh select, bạn có thể sử dụng ith cơ sở dữ liệu. Sau khi lựa chọn, mọi lệnh tiếp theo sẽ hoạt động trên ith cơ sở dữ liệu.
Vì vậy, nếu bạn chỉ định một cơ sở dữ liệu độc lập cho từng mô-đun, bạn có thể tránh xung đột tên.
LƯU Ý :giải pháp này KHÔNG hoạt động với Redis Cluster
. Redis Cluster
chỉ cho phép bạn sử dụng 0 cơ sở dữ liệu.
Giải pháp 3:Tạo không gian tên với tiền tố khóa
Nếu tất cả dữ liệu của bạn phải được lưu trữ trong một cơ sở dữ liệu duy nhất, bạn vẫn có thể ngầm định tạo một không gian tên với tiền tố chính . Đối với mỗi mô-đun, tất cả dữ liệu của mô-đun này phải có cùng một mẫu khóa:ModuleName:KeyName
, tức là mỗi khóa của mô-đun này có cùng một tiền tố:ModuleName
.
Vì mỗi mô-đun có một tên khác nhau, nên sẽ không có bất kỳ xung đột tên nào giữa các mô-đun này:
// Set keys for module1
SET module1:key1 value
SET module1:key2 value
// Set keys for module2
SET module2:key1 value
SET module2:key2 value
LƯU Ý :giải pháp này cũng hoạt động với Redis Cluster
.