真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java使用Redis實(shí)現(xiàn)一個(gè)秒殺功能-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)Java使用Redis實(shí)現(xiàn)一個(gè)秒殺功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁(yè)美工、網(wǎng)站程序員、網(wǎng)頁(yè)設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷人員及形象策劃。承接:做網(wǎng)站、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫(kù)開(kāi)發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。

秒殺功能

秒殺場(chǎng)景現(xiàn)在已經(jīng)非常常見(jiàn)了,各種電商平臺(tái)都有秒殺的產(chǎn)品,接下來(lái)我們模擬一個(gè)秒殺的項(xiàng)目,最終能夠確保高并發(fā)下的線程安全。界面比較簡(jiǎn)單,但是功能基本實(shí)現(xiàn)。

界面

Java使用Redis實(shí)現(xiàn)一個(gè)秒殺功能

點(diǎn)擊“秒殺點(diǎn)我”按鈕后臺(tái)就會(huì)輸出秒殺結(jié)果。

Java使用Redis實(shí)現(xiàn)一個(gè)秒殺功能

第一版

使用Redis緩存數(shù)據(jù)庫(kù),使用一個(gè)key-value存儲(chǔ)秒殺商品數(shù)量,使用set集合存儲(chǔ)秒殺成功的用戶。我們以商品0101為示例,設(shè)置商品的初始數(shù)量為200件。不考慮并發(fā)問(wèn)題,實(shí)現(xiàn)功能。

html、jsp、servlet文件不重要省略。

package com.redis.secondskill;
 
import java.util.List;
 
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.Transaction;
 
public class SS0 {
 public static boolean doSecKill(String uid,String prodid) {
 JedisPool jedisPool = JedisPollTool.getInstance();
 Jedis jedis = jedisPool.getResource();
 String productCountStr = "sec:"+prodid+":count";
 String productUserStr = "sec:"+prodid+":user";
 String productCount = jedis.get(productCountStr);
 if(null == productCount) {
 System.out.println("秒殺還沒(méi)有開(kāi)始");
 JedisPollTool.distroy(jedisPool, jedis);
 return false;
 }
 if(jedis.sismember(productUserStr, uid)) {
 System.out.println(uid + "用戶已經(jīng)秒殺成功");
 JedisPollTool.distroy(jedisPool, jedis);
 return false;
 }
 int prodCount = Integer.parseInt(productCount);
 if(prodCount <= 0) {
 System.out.println("秒殺結(jié)束");
 JedisPollTool.distroy(jedisPool, jedis);
 return false;
 }
 jedis.decr(productCountStr);
 jedis.sadd(productUserStr, uid);
 
 JedisPollTool.distroy(jedisPool, jedis);
 System.out.println(uid + "秒殺成功");
 return true;
 }
}

分享名稱:Java使用Redis實(shí)現(xiàn)一個(gè)秒殺功能-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/godjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部