您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用StackExchange.Redis的Redis键空间通知

使用StackExchange.Redis的Redis键空间通知

常规订户API应该可以正常工作-在用例上没有任何假设,并且应该可以正常工作。

但是,我确实同意这是一种内置功能,可能会受益于API上的辅助方法以及也许不同的委托签名- 来封装keyapace通知的语法,这样人们就无需重复它。为此:建议您记录一个问题,以免被遗忘。

首先,检查Redis键空间事件已启用很重要。例如,应该在 Set 类型的键上启用事件。可以使用以下CONfig SET命令完成此操作:

CONfig SET notify-keyspace-events KEs

启用键空间事件后,就可以订阅pub-sub频道:

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

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

在此处了解有关键空间事件的更多信息。

其他 2022/1/1 18:17:28 有436人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶