Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

redis để ghi nhật ký

Bạn cần lưu ý rằng Redis là một cơ sở dữ liệu trong bộ nhớ (ngay cả khi nó có thể lưu dữ liệu vào đĩa). Dữ liệu bạn đưa vào Redis phải vừa với bộ nhớ.

Đề xuất trong bài viết mà bạn đề cập là về việc sử dụng Redis làm hệ thống xếp hàng phân tán. Worker xử lý dequeue các mục và ghi chúng vào đĩa, vì vậy không có nhiều mục trong bộ nhớ Redis. Thiết kế này có một lỗ hổng:nếu worker process không thể ghi dữ liệu đủ nhanh vào đĩa, mức tiêu thụ bộ nhớ của Redis sẽ bùng nổ - vì vậy nó phải bị giới hạn bởi cấu hình (thông số Redis maxmemory) hoặc phần mềm (cắt hàng đợi tại thời điểm chèn, hoặc trống hàng đợi khi nó đầy).

Giờ đây, đề xuất của bạn không thực sự hoạt động vì tất cả dữ liệu bạn ghi trong Redis sẽ được lưu trong bộ nhớ (ngay cả khi chúng được lưu trữ vào đĩa bởi chính Redis).

Một điểm khác là bạn không thể truy vấn Redis. Redis không phải là một cơ sở dữ liệu quan hệ, nó không hỗ trợ cơ chế truy vấn đặc biệt, chỉ có các lệnh liên quan đến các đường dẫn truy cập đã xác định trước đó. Nếu bạn muốn tìm kiếm dữ liệu với các tham số khác nhau, bạn phải dự đoán tất cả các tìm kiếm có thể có và xây dựng cấu trúc dữ liệu có liên quan (tập hợp, tập hợp đã sắp xếp, v.v.) tại thời điểm chèn.

Một cửa hàng khác (MongoDB hoặc cơ sở dữ liệu quan hệ) có thể sẽ phù hợp hơn nhiều cho trường hợp sử dụng của bạn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Để bắt đầu tải YCSB với tùy chọn kích hoạt cụm cho REDIS

  2. Kết nối với redis từ một vùng chứa khác trong docker

  3. Redis đang chèn không theo thứ tự hoặc sắp xếp kỳ lạ?

  4. Khu vực thông báo và tin tức bằng cách sử dụng Redis

  5. Redis - Bảng Lua làm giá trị trả về - tại sao điều này không hoạt động