sql >> データベース >  >> NoSQL >> Redis

flashdbを使用したRedisキースペース通知

    他の回答と同じように、そのような通知はありません。

    結局のところ、キースペース通知 単一キーのイベントの通知です 。各通知はキーに関連付けられています。 keyspaceの場合 イベントの場合、キー名はチャネル名の一部です。 keyeventの場合 イベントの場合、キー名はメッセージです。

    PUBLISH [email protected]__:key_name comamnd
    PUBLISH [email protected]__:command key_name
    

    通知を送信する各コマンドには、引数としてキーが必要です。例えばdel keyset key val 。ただし、flushdb コマンドには引数としてのキーがありません。このコマンドは単一のキーには影響しません。代わりに、データベース内のすべてのキーを削除します。したがって、そのような通知はありません。そうでなければ、あなたはチャンネルに何を期待しますか?削除されたすべてのキー?良い考えではありません。

    ただし、flushdbのイベントをシミュレートできます

    1. 特別なキーを設定します。例: flushdb-eventset flushdb-event 0
    2. 対応するチャネルでサブスクライブします:subscribe [email protected]__:flushdb-event
    3. flushdbを呼び出す前に、特別なキーを設定してください :set flushdb-event 1

    このようにして、シミュレートされたflushdbを取得できます。 通知。



    1. MongoDB $ rand

    2. Dockerコンテナからローカルのmongodbに接続する

    3. JSONにシリアル化してRails4.0.3に戻すときに、has_many:throughの関係を維持するにはどうすればよいですか?

    4. Mongo集計複数の値に一致