Bộ nhớ là tài nguyên quan trọng cho hiệu suất Redis. Bộ nhớ được sử dụng định nghĩa tổng số byte được Redis phân bổ bằng cách sử dụng bộ cấp phát của nó (hoặc là libc chuẩn, jemalloc, hoặc một bộ cấp phát thay thế như tcmalloc).
Bạn có thể thu thập tất cả dữ liệu số liệu sử dụng bộ nhớ cho phiên bản Redis bằng cách chạy "bộ nhớ thông tin".
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K
Đôi khi, khi Redis được cấu hình không có giới hạn bộ nhớ tối đa, sử dụng bộ nhớ cuối cùng sẽ đến bộ nhớ hệ thống và máy chủ sẽ bắt đầu ném lỗi "Hết bộ nhớ". Vào những thời điểm khác, Redis được định cấu hình với giới hạn bộ nhớ tối đa nhưng chính sách không đề cập. Điều này sẽ khiến máy chủ không loại bỏ bất kỳ khóa nào, do đó ngăn không cho bất kỳ ghi nào cho đến khi bộ nhớ được giải phóng. Các giải pháp cho các vấn đề như vậy sẽ được cấu hình Redis với bộ nhớ tối đa và một số chính sách trục xuất. Trong trường hợp này, máy chủ bắt đầu gỡ bỏ các khóa bằng chính sách đuổi vì việc sử dụng bộ nhớ đạt đến mức tối đa.
Bộ nhớ RSS (Resident Set Size) là số byte mà hệ điều hành đã cấp cho Redis. Nếu tỷ lệ ‘memory_rss’ thành ‘memory_used’ lớn hơn ~ 1.5, thì nó biểu thị sự phân mảnh bộ nhớ. Bộ nhớ phân mảnh có thể được phục hồi bằng cách khởi động lại máy chủ.
Đọc mô tả chi tiết hơn để giám sát máy chủ redis here
Nguồn
2017-04-02 05:30:25
Cảm ơn. Tôi sẽ thấy các giải pháp khác nhau, đặc biệt là sử dụng bài viết về cách sử dụng redis làm bộ nhớ cache LRU (tôi chưa từng thấy nó trước đây) – kozher