欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis使用watch完成秒殺搶購功能的代碼

 更新時(shí)間:2018年05月07日 10:41:00   作者:e421083458  
這篇文章主要介紹了Redis使用watch完成秒殺搶購功能的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過來看看吧

redis使用watch完成秒殺搶購功能:

使用redis中兩個(gè)key完成秒殺搶購功能,mywatchkey用于存儲(chǔ)搶購數(shù)量和mywatchlist用戶存儲(chǔ)搶購列表。

它的優(yōu)點(diǎn)如下:

1. 首先選用內(nèi)存數(shù)據(jù)庫來搶購速度極快。

2. 速度快并發(fā)自然沒不是問題。

3. 使用悲觀鎖,會(huì)迅速增加系統(tǒng)資源。

4. 比隊(duì)列強(qiáng)的多,隊(duì)列會(huì)使你的內(nèi)存數(shù)據(jù)庫資源瞬間爆棚。

5. 使用樂觀鎖,達(dá)到綜合需求。

我覺得以下代碼肯定是你想要的。

<?php 
header("content-type:text/html;charset=utf-8"); 
$redis = new redis(); 
$result = $redis->connect('10.10.10.119', 6379); 
$mywatchkey = $redis->get("mywatchkey"); 
$rob_total = 100;  //搶購數(shù)量 
if($mywatchkey<$rob_total){ 
  $redis->watch("mywatchkey"); 
  $redis->multi(); 
  //設(shè)置延遲,方便測試效果。 
  sleep(5); 
  //插入搶購數(shù)據(jù) 
  $redis->hSet("mywatchlist","user_id_".mt_rand(1, 9999),time()); 
  $redis->set("mywatchkey",$mywatchkey+1); 
  $rob_result = $redis->exec(); 
  if($rob_result){ 
    $mywatchlist = $redis->hGetAll("mywatchlist"); 
    echo "搶購成功!<br/>"; 
    echo "剩余數(shù)量:".($rob_total-$mywatchkey-1)."<br/>"; 
    echo "用戶列表:<pre>"; 
    var_dump($mywatchlist); 
  }else{ 
    echo "手氣不好,再搶購!";exit; 
  } 
} 
?>

以上所述是小編給大家介紹的redis使用watch完成秒殺搶購功能的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • python交易記錄鏈的實(shí)現(xiàn)過程詳解

    python交易記錄鏈的實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了python交易記錄鏈的實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 圖文詳解Python如何導(dǎo)入自己編寫的py文件

    圖文詳解Python如何導(dǎo)入自己編寫的py文件

    有時(shí)候自己寫了一個(gè)py文件,想要把它導(dǎo)入到另一個(gè)py文件里面,所以下面這篇文章主要給大家介紹了關(guān)于Python如何導(dǎo)入自己編寫的py文件的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • python中自帶的三個(gè)裝飾器的實(shí)現(xiàn)

    python中自帶的三個(gè)裝飾器的實(shí)現(xiàn)

    這篇文章主要介紹了python中自帶的三個(gè)裝飾器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • python游戲開發(fā)之視頻轉(zhuǎn)彩色字符動(dòng)畫

    python游戲開發(fā)之視頻轉(zhuǎn)彩色字符動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了python游戲開發(fā)之視頻轉(zhuǎn)彩色字符動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 詳解Python中的分組函數(shù)groupby和itertools)

    詳解Python中的分組函數(shù)groupby和itertools)

    這篇文章主要介紹了Python中的分組函數(shù)groupby和itertools)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Python實(shí)現(xiàn)Word和TXT文件格式之間的相互轉(zhuǎn)換

    Python實(shí)現(xiàn)Word和TXT文件格式之間的相互轉(zhuǎn)換

    Word文檔(.doc或.docx)和純文本文件(.txt)是兩種常用的文件格式,本文將詳細(xì)介紹如何使用Python實(shí)現(xiàn)Word和TXT文件格式之間的相互轉(zhuǎn)換,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2024-07-07
  • python TKinter彈出式菜單的實(shí)例方法

    python TKinter彈出式菜單的實(shí)例方法

    在本篇文章里小編給大家整理了一篇關(guān)于python TKinter彈出式菜單的實(shí)例方法及相關(guān)代碼,有需要的朋友們可以學(xué)習(xí)下。
    2021-10-10
  • Python3爬蟲中Ajax的用法

    Python3爬蟲中Ajax的用法

    在本篇內(nèi)容里小編給大家整理的是關(guān)于Python3爬蟲中Ajax的用法,需要的朋友們可以參考下。
    2020-07-07
  • pandas 像SQL一樣使用WHERE IN查詢條件說明

    pandas 像SQL一樣使用WHERE IN查詢條件說明

    這篇文章主要介紹了pandas 像SQL一樣使用WHERE IN查詢條件說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • pyppeteer執(zhí)行js繞過webdriver監(jiān)測方法下

    pyppeteer執(zhí)行js繞過webdriver監(jiān)測方法下

    這篇文章主要為大家介紹了pyppeteer上執(zhí)行js并繞過webdriver監(jiān)測常見方法的上篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評(píng)論