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

Làm lại các thông báo về keyspace với StackExchange.Redis

API người đăng ký thông thường sẽ hoạt động tốt - không có giả định về các trường hợp sử dụng và điều này sẽ hoạt động tốt.

Tuy nhiên, tôi thực sự đồng ý rằng đây là chức năng có sẵn có thể có lợi từ các phương thức trợ giúp trên API và có lẽ là một chữ ký đại biểu khác - để đóng gói cú pháp của các thông báo trên bàn phím để mọi người không cần phải sao chép nó. Đối với điều đó:Tôi khuyên bạn nên ghi lại một vấn đề để nó không bị quên.

Mẫu đơn giản về cách đăng ký sự kiện keyspace

Trước hết, điều quan trọng là phải kiểm tra xem các sự kiện không gian phím của Redis đã được bật chưa. Ví dụ:các sự kiện phải được bật trên các khóa thuộc loại Set . Điều này có thể được thực hiện bằng cách sử dụng CONFIG SET lệnh:

CONFIG SET notify-keyspace-events KEs

Sau khi các sự kiện keyspace được bật, chỉ cần đăng ký kênh pub-sub:

using (ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("localhost"))
{
    IDatabase db = connection.GetDatabase();
    ISubscriber subscriber = connection.GetSubscriber();

    subscriber.Subscribe("[email protected]__:*", (channel, value) =>
        {
            if ((string)channel == "[email protected]__:users" && (string)value == "sadd")
            {
                // Do stuff if some item is added to a hypothethical "users" set in Redis
            }
        }
    );
}

Tìm hiểu thêm về các sự kiện keyspace tại đây.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. hibernate-redis có hỗ trợ bộ nhớ cache cấp 2 được chia sẻ bởi các trường hợp ngủ đông khác nhau không

  2. không thể kết nối với vùng chứa redis từ vùng chứa ứng dụng

  3. Làm thế nào để cấu hình celery-redis trong dự án django trên microsoft azure?

  4. Memcache vs Bộ nhớ Java

  5. Django Redis Lỗi không xác định lệnh 'BZPOPMIN'