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

Tôi có nên chia sẻ kết nối Redis giữa các tệp / mô-đun không?

Khi đối mặt với một câu hỏi như thế này, tôi thường nghĩ về ba câu hỏi cơ bản.

  1. Cái nào dễ đọc hơn?
  2. Điều nào cho phép sử dụng lại mã tốt hơn?
  3. Cái nào hiệu quả hơn?

Không nhất thiết phải theo thứ tự này vì nó phụ thuộc vào tình huống, nhưng tôi tin rằng trong trường hợp này, cả ba câu hỏi này đều có lợi cho tùy chọn B.Nếu bạn cần sửa đổi các tùy chọn cho createClient, thì bạn sẽ cần chỉnh sửa chúng trong mọi tệp cái nào sử dụng nó. Trong tùy chọn A là mọi tệp sử dụng redis và tùy chọn B chỉ là redis.js. Ngoài ra, nếu một sản phẩm mới hơn hoặc khác ra mắt và bạn muốn thay thế redis Sẽ khả thi nếu đặt redis.js thành một trình bao bọc cho một gói khác hoặc thậm chí là một khách hàng redis mới hơn về cơ bản cắt giảm đáng kể thời gian chuyển đổi.

Globals nói chung là một điều xấu, nhưng trong ví dụ này, redis.js không nên lưu trữ trạng thái có thể thay đổi, vì vậy không có vấn đề gì khi có global / singleton trong ngữ cảnh này.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. định cấu hình redis auth trên sidekiq

  2. Cách lấy DIFF trên tập hợp đã sắp xếp

  3. Khách hàng Redis

  4. Redis đã phân loại các bộ và cách tốt nhất để lưu trữ các nắp đậy

  5. Redis tìm các băm theo giá trị trường