1 redis.confは、設定ファイルを変更します。
鍵空間@接頭事件で公開Kキースペースのイベント、
KeyEventの@接頭辞で公開EのKeyEventイベント、
(非G汎用コマンド - DEL、EXPIRE、RENAME、のようなタイプの特定)...
$文字列のコマンド
リットル一覧コマンド
の設定は、コマンド
時間ハッシュコマンド
Zソート設定コマンドは、
期限切れのイベント(イベントは、キーの有効期限が切れるたびに生成さ)×
E追い出されたイベント(キーが時に生成されるイベントれる追い出さためmaxmemory)
A別名をするためにそう、「AKE」という、G $ lshzxe 文字列の手段すべてのイベント。
redis.conf的默认的配置是:通知 -keyspace- イベント""
我々は変更する必要があります通知-keyspace- 例イベント
すなわち、対応するキーイベント上記の期限が切れています。Redisの再起動この変更を再生
の期限切れのRedisのイベントを聞くために2クライアント:
@Configuration
パブリック クラスRedisListenerConfig {
@Bean
RedisMessageListenerContainer容器(RedisConnectionFactoryはconnectionFactory){
RedisMessageListenerContainerコンテナ = 新しいRedisMessageListenerContainer()。
container.setConnectionFactory(はconnectionFactory)。
戻り値のコンテナ。
}
}
リスナーを書く3。
SLF4J @
@Component
パブリック クラスRedisKeyExpirationListenerはKeyExpirationEventMessageListener {延び
公共RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer){
スーパー(listenerContainer)を、
}
@Override
公共 ボイドのonMessage(メッセージ・メッセージ、バイト[]パターン){
文字列expiredKey = message.toString()。
log.info(" expiredKey ========= " + expiredKey)。
}
照会テーブルに記載の方法は、ちょうど2つの異なるID、30代、27Sを追加しました。
redisUtil。セット(" ユーザーID " +ユーザー。得る(0).getId()、ユーザ。得る(0).getId()、30 )。
redisUtil。セット(" UserInfoId " +のUserInfo。取得(0).getId()、のUserInfo。取得(0).getId()、27);
コンソール出力:
注意:
期限切れのリターン内のメッセージを聞くには、キーのキー値の有効期限が切れていることである、の戻り値はありません