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

Người đăng ký và nhà xuất bản tối đa của Redis pub sub

Redis sử dụng dict , cấu trúc tương tự như đối với khóa, để lưu trữ các đăng ký kênh, cho cả mỗi khách hàng và cho tất cả các khách hàng (giữ một hàm băm trên mỗi gói đăng ký với danh sách các khách hàng đã đăng ký), do đó, tổng cộng có tới 2 ^ 32 đăng ký kênh.

Nó sử dụng một danh sách để lưu trữ các đăng ký mẫu cho mỗi máy khách, vì vậy về mặt lý thuyết, nó chỉ bị giới hạn bởi bộ nhớ nút có sẵn.

Tuy nhiên, nói chung, bạn có thể có các kênh vô hạn. Hãy coi kênh như một nhãn khi một thông báo được xuất bản. Tin nhắn không bao giờ được lưu trữ. Khi thông báo được xuất bản, Redis sẽ tìm kiếm những khách hàng đã đăng ký kênh đó và kiểm tra mọi đăng ký mẫu. Kênh thực sự chỉ tồn tại trong khi thông báo được xuất bản.

Vì có các đăng ký theo mẫu, nên có các kênh 'logic' không giới hạn.

Chỉ trong thông báo sự kiện, chúng tôi có 2 ^ 32 * cơ sở dữ liệu * các loại sự kiện chính có thể là kênh 'logic'.

Về số lượng người đăng ký và nhà xuất bản, nó bị giới hạn bởi maxclients cài đặt, 10.000 theo mặc định. Không có giới hạn cho người đăng ký và nhà xuất bản, nhưng giới hạn số lượng khách hàng (kết nối) tối đa được áp dụng.

Như được chỉ ra bởi @Roman, có những giới hạn về bộ đệm, nhưng điều này chủ yếu đề cập đến thông lượng (xử lý tin nhắn).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào tôi có thể nhận được tất cả các bộ trong redis?

  2. Redis / Jedis - Xóa theo mẫu?

  3. Tại sao các khóa Redis không hết hạn?

  4. Làm cách nào để trả lại Redis primaryKey thông qua đầu ra mẫu ARM?

  5. Redis - Chỉ mục hết hạn không bị xóa