Memcached có giới hạn độ dài cho các khóa (250?) Và các giá trị (khoảng 1MB), cũng như một số (theo kiến thức của tôi) không được xác định rõ ràng về các hạn chế ký tự cho khóa. Cách tốt nhất để làm việc xung quanh những người trong ý kiến của bạn là gì? Tôi sử dụng Perl API Cache :: Memcached.Làm thế nào để bạn làm việc xung quanh các hạn chế về khóa/giá trị của memcached?
Tôi hiện đang lưu chuỗi đặc biệt cho giá trị của khóa chính nếu giá trị ban đầu quá lớn ("phần: < number>") và trong trường hợp đó, tôi lưu trữ < number> các bộ phận có khóa có tên 1+ < phím chính>, 2 + < phím chính> vv .. Điều này có vẻ "OK" (nhưng lộn xộn) đối với một số trường hợp, không tốt cho người khác và có vấn đề nội tại là một số phần có thể bị thiếu bất cứ lúc nào (vì vậy không gian bị lãng phí để giữ cho người khác và thời gian lãng phí khi đọc chúng).
Đối với các giới hạn chính, người ta có thể triển khai băm và lưu trữ khóa đầy đủ (để xử lý xung đột) trong giá trị, nhưng tôi vẫn chưa cần làm điều này.
Có ai đưa ra một cách thanh lịch hơn hoặc thậm chí API Perl xử lý các kích thước dữ liệu tùy ý (và các giá trị khóa) một cách minh bạch không? Có ai đã hack máy chủ memcached để hỗ trợ các khóa/giá trị tùy ý không?
Có thể xảy ra xung đột với bạn. –
Đồng ý. CRC32 sẽ cung cấp cho bạn rất nhiều va chạm, ít nhất là sử dụng một băm MD5. –