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.