當前位置:編程學習大全網 - 網站源碼 - SpringBoot實現Redis失效監聽事件—KeyExpirationEventMessageListener

SpringBoot實現Redis失效監聽事件—KeyExpirationEventMessageListener

使用場景:當redis某個key過期的時候,我們希望處理壹些業務例如發消息或者取消訂單等,當然也可以使用中間件mq來實現,之前的文章裏有寫rocketMq實現消息的通知和消費,這篇文章主要是用redis來實現

我們需要重寫onMessage方法,當有key過期的時候這個方法可以獲取獲取的key,並處理自己的業務

如果我們是多臺機器部署,那麽我們還需要加鎖操作,避免消息的重復消費,這裏利用了stringRedisTemplate.opsForValue().setIfAbsent命令可以幫我們完成setnx加鎖的操作,如果為空set返回true,如果不為空返回false,因為redis是單線程所以可以保證只消費壹次,setIfAbsent同時要加上過期時間,註意redis版本過低的話可能沒有這個方法

  • 上一篇:Verilog直流電機的pwm控制設計
  • 下一篇:android filament入門,GLB和GLTF模型查看器
  • copyright 2024編程學習大全網