实战:定时任务案例
我在開發的時候曾經遇到了這樣一個問題,產品要求給每個在線預約看病的患者,距離預約時間的前一天發送一條提醒推送,以防止患者錯過看病的時間。這個時候就要求我們給每個人設置一個定時任務,用前面文章說的延遲隊列也可以實現,但延遲隊列的實現方式需要開啟一個無限循環任務,那有沒有其他的實現方式呢?
答案是肯定的,接下來我們就用 Keyspace Notifications(鍵空間通知)來實現定時任務,定時任務指的是指定一個時間來執行某個任務,就叫做定時任務。
開啟鍵空間通知
默認情況下 Redis 服務器端是不開啟鍵空間通知的,需要我們手動開啟。
鍵空間開啟分為兩種方式:
- 命令設置方式
- 配置文件設置方式
接下來,我們分別來看。
命令設置方式
使用 redis-cli 連接到服務器端之后,輸入 config set notify-keyspace-events Ex 命令,可以直接開啟鍵空間通知功能,返回“OK”則表示開啟成功,如下命令所示:
127.0.0.1:6379> config set notify-keyspace-events Ex OK優點:
- 設置方便,無序啟動 Redis 服務。
缺點:
- 這種方式設置的配置信息是存儲在內存中的,重啟 Redis 服務之后,配置項會丟失。
配置文件設置方式</
總結
- 上一篇: 高质量SQL的30条建议!(后端必备)
- 下一篇: 面试官 | Oracle JDK 和 O