久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

PHP+非關數(shù)據(jù)庫實現(xiàn)秒殺功能

這篇文章主要為大家詳細介紹了php+redis實現(xiàn)商城秒殺功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

1、安裝redis,根據(jù)自己的php版本安裝對應的redis擴展(此步驟簡單的描述一下)

1.1.安裝php_igbinary.dll,php_redis.dll擴展此處需要注意你的php版本如圖:

 

 

1.2.php.ini文件新增extension=php_igbinary.dll;extension=php_redis.dll兩處擴展

ok此處已經(jīng)完成第一步redis環(huán)境搭建完成看看phpinfo

 

 

2、項目中實際使用redis

2.1.第一步配置redis參數(shù)如下,redis安裝的默認端口為6379:

 

 

2.2.實際函數(shù)中使用redis:

 

 

2.3. 秒殺的核心問題是在大并發(fā)的情況下不會超出庫存的購買,這個就是處理的關鍵所以思路是第一步在秒殺類的先做一些基礎的數(shù)據(jù)生成:

 

 

2.4. 第二步就是關鍵所在,用戶在進入商品詳情頁前先將當前商品的庫存進行隊列存入redis如下:

 

 

 

 

接下來要做的就是用ajax來異步的處理用戶點擊購買按鈕進行符合條件的數(shù)據(jù)進入購買的排隊隊列(如果當前用戶沒在當前產(chǎn)品用戶的隊列就進入排隊并且pop一個庫存隊列,如果在就拋出,):

 

 

 

 

 

 

附加一個調試的函數(shù),刪除指定隊列值:

 

 

走到此處的時候秒殺的核心基本就完了,細節(jié)還需要自己在去完善,像購物車這邊的處理還有訂單的處理,好吧開始跑程序利用apache自身的ab可以進行簡單的模擬并發(fā)測試如下:

 

 

跑起來,我擦跑步起來redis沒有任何反應,此時還少一步重要的步驟就是開啟redis服務,請根據(jù)自己的系統(tǒng)下一個redisbin_x32或者redisbin_x64的redis服務管理工具,點擊redis-server.exe,ok至此全部完成如下圖:

 

 

 

 

未經(jīng)允許不得轉載:445IT之家 » PHP+非關數(shù)據(jù)庫實現(xiàn)秒殺功能

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞