Hiện tại, Redis không hỗ trợ nhiều khóa trỏ đến cùng một giá trị, hãy xem sự cố # 2668.
Bạn sẽ cần một giải pháp thay thế.
Một số ý tưởng dưới đây, có thể rõ ràng hoặc ngu ngốc :)
Có thể có khóa trung gian:
- user_10
→ id_123
- driver_5
→ id_123
- id_123
→ data_that_you_dont_want_to_duplicate
Bạn có thể triển khai logic đó trong mã máy khách của mình hoặc trong các tập lệnh Lua tùy chỉnh trên máy chủ và để mã khách hàng của bạn sử dụng các tập lệnh đó (nhưng tôi không biết đủ về điều đó để cung cấp chi tiết).
Nếu bạn triển khai logic chuyển hướng ở phía máy khách và nếu quyền truy cập không cân bằng, ví dụ:bạn sẽ truy cập dữ liệu thông qua khóa người dùng 99% thời gian và thông qua khóa trình điều khiển 1% thời gian, có thể nên tránh 2 máy khách-máy chủ các chuyến đi khứ hồi đối với trường hợp 99%. Đối với điều này, bạn có thể mã hóa chuyển hướng. Ví dụ:nếu ký tự đầu tiên là #
thì phần còn lại là dữ liệu. Nếu ký tự đầu tiên là @
thì phần còn lại là chìa khóa thực sự.
-
user_10
→#data_that_you_dont_want_to_duplicate
-
driver_5
→@user_10