redis.conf
通知-キースペース、イベント例
KeyExpiredListener.java
パブリック クラス KeyExpiredListenerは延びJedisPubSub { 公共KeyExpiredListenerを(){ } @Override 公共 ボイド のonMessage(文字列のチャネル、文字メッセージ){ // 收到消息会调用 のSystem.out.println(String.Formatの(「受信Redisの公開メッセージ、チャネル% S、メッセージ%s」は、チャネル、メッセージ))。 } @Override 公共 ボイド onSubscribe(文字列チャネル、INT subscribedChannels){ // 订阅了频道会调用 のSystem.out.println(String.Formatの( "Redisのチャネルの成功を購読、チャネル%S、subscribedChannels%D"、 チャネル、subscribedChannels))。 } @Override 公共 ボイド onUnsubscribe(文字列チャネル、INT subscribedChannels){ // 取消订阅会调用 のSystem.out.println(String.Formatの( "解除Redisのチャネル、チャネル%S、subscribedChannels%dの" 、 チャネル、subscribedChannels))。 } }
AppListener.java
パブリック 抽象 クラス AppListenerは延びJbootAppListenerBase { @Override 公共 ボイドonInterceptorConfig(インターセプタインターセプタ){ スーパー.onInterceptorConfig(インターセプタ)。 interceptors.add(新しいSessionInViewInterceptor()); } @Override 公共 ボイドonEngineConfig(エンジンME){ } @Override 公共 ボイドONSTART(){ Aop.inject(本)Jboot.getRedis()サブスクライブ(。 、)(新しいKeyExpiredListener "を__keyevent @ 0 __:期限切れ" ); } }
テストコード
Cache.set( "試験-101"、 "101"、30 ); Cache.set( "試験-201"、 "201"、60 )。 Cache.set( "試験-301"、 "301"、90)。
効果
受信公表のRedisは、メッセージ、チャネル__keyevent @ 0 __:、期限切れメッセージはXXXX:S:テスト-101は、
メッセージ、チャネル__keyevent @ 0 __を公表のRedisを受け取る:期限切れ、メッセージはXXXX:S:テスト-201が
発表されRedisのを受け取るメッセージ、チャネル__keyevent @ 0__: S:試験-301、メッセージXXXX期限切れ