回顧 five 冪等性

2022-01-11 19:54:01 字數 571 閱讀 4919

效果:系統對某介面的多次請求,都應該返回同樣的結果!(網路訪問失敗的場景除外)

目的:避免因為各種原因,重複請求導致的業務重複處理

重複請求場景案例:

1,客戶端第一次請求後,網路異常導致收到請求執行邏輯但是沒有返回給客戶端,客戶端的重新發起請求

2,客戶端迅速點選按鈕提交,導致同一邏輯被多次傳送到伺服器

實現方法:客戶端做某一請求的時候帶上識別引數標識,服務端對此標識進行識別,重複請求則重複返回第一次的結果即可。

舉個栗子:比如新增請求的表單裡,在開啟新增表單頁面的時候,就生成乙個addid標識,這個addid跟著表單一起提交到後台介面。

後台介面根據這個addid,服務端就可以進行快取標記並進行過濾,快取值可以是addid作為快取key,返回內容作為快取value,這樣即使新增按鈕被多次點下也可以識別出來。

這個addid什麼時候更新呢?只有在儲存成功並且清空表單之後,才變更這個addid標識,從而實現新資料的表單提交

原子性 冪等性

原子性 如果這個操作所處的層 layer 的更高層不能發現其內部實現與結構,那麼這個操作是乙個原子 atomic 操作。原子操作可以是乙個步驟,也可以是多個操作步驟,但是其順序不可以被打亂,也不可以被切割而只執行其中的一部分。將整個操作視作乙個整體是原子性的核心特徵。冪等性 再簡單一點說,在乙個業務...

冪等性學習及介面的冪等性

冪等性學習 一 什麼是冪等性 在這裡需要有以下幾個問題需要注意 2 冪等性不僅僅只是一次或者多次請求的時候對資源沒有 比如根據id對資料庫的查詢操作,此操作對資料庫沒有增刪改,所以多次查詢操作對資料庫結果是沒有任何影響的 3 冪等性還包括了第一次請求資源的時候,對資源產生了 但是在以後多次同樣的請求...

了解冪等性

2 什麼是冪等性 f x f x x被函式f作用一次和作用無限次的結果是一樣的。冪等性應用在軟體系統中,我把它簡單定義為 某個函式或者某個介面使用相同引數呼叫一次或者無限次,其造成的後果是一樣的,在實際應用中一般針對於介面進行冪等性設計。舉個栗子,在系統中,呼叫方a呼叫系統b的介面進行使用者的扣費操...