Trong cách tiếp cận sharding phía máy khách, tôi có thể tạo phân đoạn và lưu trữ một tập hợp zset trong mảnh đơn đó. Với Redis cluster, zset có thể lớn đến cỡ nào? Làm thế nào để tôi chia tỷ lệ zsets nếu là sẽ là một chỉ số của tất cả các phím tôi có trong redis.Redis cluster and zsets
Trả lời
Câu trả lời ngắn gọn: có - bạn có thể lưu trữ tất cả tên khóa của mình trong một Tập hợp được sắp xếp.
Tập hợp sắp xếp Redis có thể có tối đa 2^32 - 1 (4294967295) thành viên, mỗi thành viên được tạo thành từ một chuỗi có chiều dài tối đa 512MB và điểm số 64 bit (cùng giới hạn cho số lượng khóa trong cơ sở dữ liệu). Điều này áp dụng cho cả Redis độc lập cũng như Redis Cluster và cho phép lưu trữ ~ 2048PB trong một đơn Sorted Set :)
Trong Redis Cluster, mỗi khóa thuộc về một khe băm cụ thể. Do đó, một Tập hợp được sắp xếp, bất kể giới hạn kích thước lý thuyết ở trên, chỉ có thể lớn như phân đoạn lớn nhất của bạn (nghĩa là máy chủ Redis). Trong khi phân đoạn có thể quản lý một khe duy nhất và một vị trí có thể chứa một khóa duy nhất - tôi hầu như không đề xuất phương pháp đó do các mối lo ngại về khả năng mở rộng.
Lập chỉ mục tất cả các khóa của bạn là một thách thức thú vị - tại sao bạn làm điều đó? Và quan trọng hơn, bạn muốn chạy loại truy vấn nào đối với chỉ mục đó? Tùy thuộc vào số lượng khóa trong cơ sở dữ liệu của bạn và các yêu cầu truy vấn, có thể có các cách khác, hiệu quả hơn để đạt được điều đó.
Nếu lệnh của tôi là "zadd to_be_expired 142791950 user1" thì tại đây khóa là to_be_expired và thành viên là user1. Nếu tôi thêm các thành viên khác vào zset thì chúng sẽ được lưu trên cùng một cá thể redis? Vì vậy, nếu tôi sử dụng một zset một cá thể redis duy nhất sẽ được phục vụ tất cả các quyền giao thông? – Phoenix
Exactomundo (yes) –
Nhưng nếu một máy chủ duy nhất bị ảnh hưởng với tất cả các yêu cầu của nhịp tim thường xuyên không thể mở rộng được. – Phoenix
- 1. Android cluster and marker clicks
- 2. Kmeans inter and inter cluster order
- 3. Làm thế nào để bảo mật Redis Cluster?
- 4. Redis Cluster: Tìm master nắm giữ khóa/rãnh cụ thể
- 5. Mysql cluster for dummies
- 6. doParallel, cluster vs core
- 7. Sử dụng socket.io với Cluster?
- 8. Singleton trong môi trường Cluster
- 9. Nút tắt Akka.NET cluster graceful
- 10. ArrayList and String [] AND Object []
- 11. Elasticsearch 5.0.0. nút cluster không tham gia
- 12. redis: đặt mật khẩu cho redis
- 13. Redis | redis-cli giá trị INFO/avg_ttl
- 14. Sự khác nhau giữa mô-đun Cluster của Node.js và mô-đun Cluster của Learnboost là gì?
- 15. Node.js và Redis Auth
- 16. Cách lập hồ sơ R Mã bao gồm SNOW Cluster
- 17. Làm cho Sails.js hoạt động với Node.js Cluster Module
- 18. Khởi tạo Bộ KH & ĐT cluster với tuyết rơi R
- 19. Node.js: Công nhân có mã differents trong cluster?
- 20. Cách đăng ký EC2 Instance cho ECS cluster?
- 21. Đảm bảo gửi nhiều tin nhắn đến Kafka cluster
- 22. Cách thiết lập tự động tính toán RabbitMQ Cluster AWS
- 23. Sử dụng tính năng DecisionTreeClassifier scikit để cluster
- 24. Không thể gửi công việc châm ngòi cụm (cluster-mode)
- 25. Java Generics and numbers
- 26. EJB's and Threading
- 27. NSDirectoryEnumerator And Subfolders
- 28. MySQL AND Filemaker Pro?
- 29. Generics and System.Collections
- 30. C++ typedefs and enums
Bạn có thể giải thích khóa của bạn là gì không? Ngoài ra, bạn có muốn phân vùng zset của bạn trên các mảnh hoặc chỉ các phần tử được phân đoạn trên các phân đoạn. Bởi vì theo các tài liệu ở đây, ___Các chi tiết phân vùng là chìa khóa, do đó không thể phân tích tập dữ liệu bằng một khóa lớn duy nhất như một tập hợp được sắp xếp rất lớn.Kiểm tra tài liệu redis tại đây: http://redis.io/ chủ đề/phân vùng – skippy