一 利用redis佇列實現訂單超時自動取消的基本原理
1 把訂單id放到redis裡 並設定過期時間 我這裡設定的是10秒
2 監聽redis15號庫
這裡需要修改redis.conf
鍵空間通知使得客戶端可以通過訂閱頻道或模式, 來接收那些以某種方式改動了 Redis 資料集的事件。例如鍵過期;
在psubscribe中'keyevent@15:expired'為固定模式, 15表示第15號資料庫 在回撥函式裡,$message 就是當前觸發過期事件的key,注意是key 不是value;拿到了key 中的資訊後面就可以處理邏輯了
二 利用redis佇列sub/pub實現即時任務
1 這裡需要用到redis 頻道
釋出一個訊息到channel;這個頻道 可以被多個客戶端訂閱
2 訂閱這個頻道
需要注意的是 psubscribe的第一個引數是陣列 表示可以同時訂閱多個頻道
本作品採用《CC 協議》,轉載必須註明作者和本文連結