cuốn sách gpt4 ai đã làm

redis - Sự nhầm lẫn về lưu trữ của Jedi, đây là vấn đề của Redis hay Jedi?

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 11:23:02 25 4
mua khóa gpt4 Nike

Đoạn mã Java sau đây chèn một triệu cặp số nguyên vào Redis.

 lớp công khai JedisInsertion { 
byte tĩnh công khai [] fromInt(int v) {
return ByteBuffer.allocate(4).putInt(v).array();
}
public static void main(String args[]) {
Jedis j = Jedis mới("localhost");
cho (int i = 0;i<1000*1000;i++){
j.set(fromInt(i),fromInt(i));
}
}
}

Đây là đầu ra thông tin redis

... 
used_memory:89319664
Arch_bits:64
...

89319664 có nghĩa là khoảng 89 byte cho mỗi cặp khóa-giá trị.

Tôi đã mong đợi khoảng 8 MB (khóa 4 byte + giá trị 4 byte).

Tôi cũng đã biên dịch redis ở chế độ 32 bit (vẫn chạy máy thử nghiệm trên 64 bit).

Kết quả của phiên bản redis 32 bit:

Bộ nhớ đã sử dụng: 68831664 => 68 byte cho mỗi cặp khóa-giá trị.

Cả hai kết quả đều cao hơn tôi mong đợi nhiều lần.

Khi tôi xem redis bằng CLI, tôi thấy một khóa thông thường trông như thế này: "\x00\x00\xc2\xff"

Cảm ơn phản hồi của bạn

Tái bút - Tôi đang sử dụng Redis 2.2.14 và Jedis 2.0 trên máy 64 bit

PSS - Tôi cũng đã thử lưu trữ tất cả các giá trị trong hàm băm như một trong những nhận xét được đề xuất, đây là mã:

cho (int i = 0;i<1000*1000;i++){
j.hset("my-hash".getBytes(),fromInt(i),fromInt(i));
}

Kết quả như sau:

used_memory_rss:84676608 (dành cho bản dựng 32 bit)
used_memory:105319712 (dành cho bản dựng 64bit)

Khi tôi sử dụng một hàm băm duy nhất, kết quả sẽ tệ hơn.

câu trả lời hay nhất

68 byte cho mỗi loại khóa/giá trị là chính xác. Redis không lưu trữ mọi thứ dưới dạng tệp văn bản thuần túy bên trong, nếu không, nó sẽ không thể tra cứu nhanh chóng, có các loại đối tượng khác nhau, v.v. Có một chi phí liên quan. Có thêm thông tin trong tài liệu trên Redis.io.

Liên quan đến sự nhầm lẫn về lưu trữ redis-Jedis, câu hỏi này là Redis hay Jedis? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7671354/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress