為防止重復提交操作,可以使用redis的事務機制和原子操作來實現。以下是一種常見的方法:
WATCH key
value = GET key
if value == expected_value:
MULTI
# 在事務中進行操作
EXEC
else:
UNWATCH
if SETNX key "1":
# 設置成功,進行操作
else:
# 鍵已存在,說明操作已經提交過了
使用以上方法可以有效地防止重復提交操作,確保每個操作只會被執行一次。同時,還可以結合設置過期時間等其他操作來加強防護。