冪等性的實現

2021-09-28 22:13:03 字數 681 閱讀 7479

1. 生成key的方式

記得保證redis生成的key和刪除的key是成功的(看返回值)

1)允許表單跳轉

這種情況比較容易,比如在列表中新增一條記錄,可以在列表頁面生成乙個key,放到redis中,同時在新增頁面時帶著這個key。等到提交時,把key也提交,後台根據key與redis中進行比較,有的話儲存,儲存成功就刪除這個key。而沒有時就直接放棄儲存(重複提交)

2)不允許表單跳轉

可以將提交的表單進行hash運算,生成乙個key,設定乙個有效時間,用來規定該時間段內提交的都是重複提交。如果在規定時間內再次提交相同的表單資料,那麼hash值也是相同的,這樣可以給前台提示是否要重複提交(可能使用者就想重複提交,得給他這個機會)。hash值的相同來判斷他是否為重複提交

2. sql索引

有些資料有業務上的唯一性,可以採用這種方法。

比如,乙個活動只允許使用者註冊一次,註冊的方式是使用手機號的方式。那麼可以通過活動id+手機號的方式建立唯一索引。插入資料時通過mysql的唯一索引的唯一性來保證資料不會重複提交

3.不知道有沒有類似語句或觸發器之類的

通過類似sql語句,有資料啥也不幹,沒有資料才進行插入

冪等性的實現

1.生成key的方式 記得保證redis生成的key和刪除的key是成功的 看返回值 1 允許表單跳轉 這種情況比較容易,比如在列表中新增一條記錄,可以在列表頁面生成乙個key,放到redis中,同時在新增頁面時帶著這個key。等到提交時,把key也提交,後台根據key與redis中進行比較,有的話...

冪等性和實現方法

冪等性和實現方法 tommwq.tech blog 如果乙個操作重複執行多次,其效果 不考慮操作時間 和只執行一次是一樣的,那麼這個操作就叫做是冪等 idempotent 的。乍看起來,冪等操作似乎沒什麼用處,畢竟只有第一次執行有效。但如果在系統設計中考慮到 失敗 場景的話,冪等操作是非常重要的。因...

冪等性的作用及實現

冪等這個詞原自數學,某一元運算為冪等時,其作用在任一元素兩次後會和其作用一次的結果相同。在程式設計中,乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。第一次請求的時候對資源產生了 但是以後的多次請求都不會再對資源產生 這裡的 是不會對結果產生破壞或者產生不可預料的結果。比如,某...