Redis cho phép lưu trữ dữ liệu trong 16 cơ sở dữ liệu khác nhau (0 đến 15). Có cách nào để có được bộ nhớ sử dụng & không gian đĩa trên mỗi cơ sở dữ liệu. Lệnh INFO chỉ liệt kê số lượng khóa trên mỗi cơ sở dữ liệu.Sử dụng bộ nhớ trong redis cho mỗi cơ sở dữ liệu
Trả lời
Không, bạn không thể kiểm soát từng cơ sở dữ liệu riêng lẻ. Những "cơ sở dữ liệu" này chỉ dành cho phân vùng hợp lý dữ liệu của bạn.
Những gì bạn có thể làm (tùy thuộc vào yêu cầu và thiết lập cụ thể của bạn) là quay nhiều lần lặp lại, mỗi trường hợp thực hiện một tác vụ khác nhau và mỗi tác vụ có tệp redis.conf
riêng với nắp bộ nhớ. Không gian đĩa có thể không được giới hạn mặc dù, ít nhất là không ở cấp độ Redis.
Lưu ý phụ: Lưu ý rằng số 16 cơ sở dữ liệu không được mã hóa cứng - bạn có thể đặt số này trong redis.conf
.
Xem redis-rdb-tools
Bạn có thể nhận được một sử dụng bộ nhớ xấp xỉ bởi cơ sở dữ liệu, nên trong vòng 10% của hiện thực.
Tôi sẽ thử, nhưng tôi đoán bằng cách nói 'trong vòng 10% thực tế', bạn đang nói nhiều hơn 10% so với những gì chương trình của bạn báo cáo, đúng không? Nhận được chiều dài lũy thừa cho mỗi khóa bằng cách sử dụng đối tượng gỡ lỗi như [câu hỏi này] (http://stackoverflow.com/questions/7638542/redis-show-database-size-size-for-keys) gợi ý, nó sẽ là một giới hạn thấp hơn tốt hơn ? Tôi cần phải kiểm tra. – user209377
Đối với các đối tượng nhỏ, chiều dài tuần tự là chính xác. Nhưng đối với các đối tượng lớn hơn, nó là khủng khiếp không chính xác. Redis-rdb-tools đảo ngược các kỹ sư Redis 'cấu trúc dữ liệu để tìm ra bộ nhớ được sử dụng. Xem nhận xét trong https://github.com/sripathikrishnan/redis-rdb-tools/blob/master/rdbtools/memprofiler.py để tìm hiểu thêm –
Tôi đã làm điều đó bằng cách gọi dump
trên tất cả các khóa trong Redis DB và đo tổng số byte được sử dụng. Điều này sẽ làm chậm máy chủ của bạn và mất một lúc. Có vẻ như kích thước dump
trả về nhỏ hơn khoảng 4 lần so với mức sử dụng bộ nhớ thực tế. Những con số này sẽ cho bạn một ý tưởng về việc db nào đang sử dụng nhiều không gian nhất.
Dưới đây là mã của tôi: https://gist.github.com/mathieulongtin/fa2efceb7b546cbb6626ee899e2cfa0b
- 1. Redis: Kích thước cơ sở dữ liệu cho tỷ lệ bộ nhớ?
- 2. cơ sở dữ liệu trong bộ nhớ trong Python
- 3. Đường ray có trong cơ sở dữ liệu bộ nhớ
- 4. Lưu vào đĩa cơ sở dữ liệu trong bộ nhớ
- 5. Cơ sở dữ liệu HSQL 100% trong bộ nhớ
- 6. Điểm của nhiều Cơ sở dữ liệu Redis là gì?
- 7. Redis - giám sát việc sử dụng bộ nhớ
- 8. Hình ảnh cơ sở dữ liệu bộ nhớ đệm MVC
- 9. RDS Bộ nhớ cơ sở dữ liệu hết dung lượng
- 10. Redis: Hiển thị kích thước/kích thước cơ sở dữ liệu cho các phím
- 11. Cách tối ưu hóa phân trang cho lớn trong cơ sở dữ liệu bộ nhớ
- 12. Khuyến nghị cho một cơ sở dữ liệu trong bộ nhớ
- 13. Cách sử dụng nhiều cơ sở dữ liệu trong ứng dụng Rails Sử dụng cơ sở dữ liệu
- 14. Redis sử dụng bộ nhớ gấp 10 lần so với dữ liệu
- 15. Thay thế cho TimesTen trong cơ sở dữ liệu bộ nhớ
- 16. từ cơ sở dữ liệu sử dụng?
- 17. Buộc toàn bộ cơ sở dữ liệu MySQL được trong bộ nhớ
- 18. sử dụng cơ sở dữ liệu khác tại dấu nhắc lệnh redis
- 19. Đề xuất cho cơ sở dữ liệu trong bộ nhớ so với cấu trúc dữ liệu an toàn của luồng
- 20. Sử dụng cho Cơ sở dữ liệu báo cáo phppgadmin?
- 21. Tôi nên sử dụng Redis làm bộ nhớ cache cho SQL Server như thế nào?
- 22. Lỗi khi kéo cơ sở dữ liệu mysql trong cơ sở dữ liệu mysql cục bộ
- 23. Làm cho EF sử dụng cơ sở dữ liệu cục bộ trong thư mục App_Data
- 24. Đồng bộ hóa cơ sở dữ liệu sqlite từ bộ nhớ đến tệp
- 25. Tìm kiếm cơ sở dữ liệu cục bộ cho D2009 +
- 26. Áp dụng truy vấn mysql cho mỗi bảng trong cơ sở dữ liệu
- 27. Return mỗi hàng thứ n từ cơ sở dữ liệu sử dụng ActiveRecord trong đường ray
- 28. Sử dụng biến tĩnh cho dữ liệu bộ nhớ cache
- 29. Lưu cơ sở dữ liệu H2 trong bộ nhớ vào đĩa
- 30. CursorLoader, lấy URI cho cơ sở dữ liệu cục bộ
Đây là một lựa chọn khác, nhưng tôi không chắc chắn có bao nhiêu chi phí tiêu thụ bộ nhớ cho mỗi trường hợp. – user209377
Nhưng đây là tùy chọn _the_ –