根據時間段制作 mysql 唯一索引
用戶希望每小時限制用戶只能向數據庫插入一條數據。例如,當用戶在 10:15 插入數據后,在 10:15 至 11:15 之間不能再插入數據。為了避免因接口并發請求導致多個數據在 10:15 至 11:15 時間段內入庫,用戶希望使用唯一索引來實現。
解決方案
遺憾的是,使用數據庫的角度難以直接解決此問題,因為時間點是可變的。但是,可以采用以下兩種方法:
- 使用 Redis 加鎖,獲取數據庫中的最大時間。
- 如果 Redis 中沒有最大時間,則從數據庫中獲取。
- 將最大時間比較后更新并保存到 Redis 中,以便下次使用。
2. 使用數據庫鎖(頻率不高)
- 使用數據庫鎖。
- 每當要插入數據時,數據庫查詢中的最大時間。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END