新聞中心
隨著互聯(lián)網(wǎng)平臺(tái)越來(lái)越普及,用戶對(duì)重復(fù)點(diǎn)擊訂單這一操作行為要求也在不斷加大,否則就會(huì)造成訂單的重復(fù)提交,顯然這是不能接受的。同時(shí),由于移動(dòng)端的交互邏輯和復(fù)雜性,重復(fù)點(diǎn)擊訂單的操作行為也無(wú)法完全避免。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供云安網(wǎng)站建設(shè)、云安做網(wǎng)站、云安網(wǎng)站設(shè)計(jì)、云安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、云安企業(yè)網(wǎng)站模板建站服務(wù),十年云安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在保證訂單的冪等性方面,Redis的使用明顯可以提高效率。將用戶的訂單id存儲(chǔ)在Redis中,在驗(yàn)證重復(fù)提交訂單前先進(jìn)行查詢:如果存在,則已經(jīng)成功提交訂單,此次訂單將不再進(jìn)行提交;若不存在,則提交訂單,并將訂單ID存儲(chǔ)到Redis中。代碼如下:
String orderid = getOrderId();
// 查詢是否已提交訂單
boolean exists = jedis.exists(orderid);
if(exists){
return "訂單已提交,不能重復(fù)提交!";
}
// 以下對(duì)訂單進(jìn)行操作
// 執(zhí)行其它業(yè)務(wù)邏輯 。。。
// 執(zhí)行成功
// 將訂單ID記錄到Redis中,以保證訂單的冪等性
jedis.setex(orderid, EXPIRE_TIME, orderid);
綜上所述,Redis通過(guò)在客戶端及服務(wù)端暫存訂單ID,以達(dá)到確保每個(gè)訂單ID只被提交1次的目的。同時(shí),Redis可以實(shí)時(shí)獲取數(shù)據(jù),從而保證效率;同時(shí),相比于傳統(tǒng)RDBMS技術(shù),應(yīng)用Redis可以提高數(shù)據(jù)訪問(wèn)效率,從而改善用戶體驗(yàn)。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
文章名稱:利用Redis保證訂單的冪等性(訂單冪等性redis)
標(biāo)題路徑:http://www.dlmjj.cn/article/dpgjocp.html


咨詢
建站咨詢
