<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      redis 分布式鎖解決商品超賣問題

      用redis的分布式鎖可以解決商品超賣的問題,簡單事例(基于YII2框架):

          /**
           * @desc 加鎖方法
           *
           * @param $lockName string | 鎖的名字
           * @param $timeout int | 鎖的過期時間
           * @return 成功返回identifier /失敗返回false
           */
          public function getLock($lockName, $timeout=10) {
              #獲取唯一標識符
              $identifier=uniqid();
              #過期時間
              $timeout = intval($timeout);
              #查看$lockName是否被上鎖,為$lockName設置過期時間,防止死鎖
              if($this->redis->setnx($lockName,$identifier)) {
                  $this->redis->expire($lockName, $timeout);
                  return $identifier;
              }
              return false;
          }
      
      
          /**
           * @desc 釋放鎖
           *
           * @param $lockName string | 鎖名
           * @param $identifier string | 鎖的唯一值
           *
           * @param bool
           */
          public function releaseLock($lockName,$identifier) {
              // 判斷是鎖有沒有被其他客戶端修改
              if($this->redis->get($lockName)==$identifier) {
                  $this->redis->multi();
                  $this->redis->del($lockName);
                  #釋放鎖
                  $this->redis->exec();
                  return true;
              } else {
                  #其他客戶端修改了鎖,不能刪除別人的鎖
                  return false;
              }
              $name='Lock:goods_id';
              $lockName=$name;
              $identifier = $this->getLock($lockName);
              if($identifier===false) {
                  return new \app\coffeecore\BaseApiResponse([
                      'code' => 1,
                      'msg' => '親,該商品正在熱銷中,請稍后再試哦',
                  ]);
              }
      
              /* 業務邏輯處理過程,商品生成訂單減庫存 */
      
              //解鎖
              $this->releaseLock($lockName,$identifier);

       

      posted @ 2022-01-17 17:00  離岸少年  閱讀(442)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合另类小说色区一| 成人一区二区人妻不卡视频| 亚洲国产色婷婷久久99精品91 | 亚洲一区二区精品极品| 狠狠色婷婷久久综合频道日韩| 午夜免费无码福利视频麻豆| 在线观看潮喷失禁大喷水无码| 成年在线观看免费人视频 | 免费现黄频在线观看国产| 中文字幕在线无码一区二区三区| 蜜桃一区二区三区免费看| 精品激情视频一区二区三区| 极品少妇被后入内射视| 中文字幕理伦午夜福利片| 国产成人精品视频网站| 婷婷五月综合丁香在线| 亚洲a成人片在线观看| 亚洲香蕉免费有线视频| 天天综合亚洲色在线精品| 亚洲一区二区三区啪啪| 国产三级精品三级在线看| 高清偷拍一区二区三区| 日产一区日产2区| 高清在线一区二区三区视频| 狠狠色噜噜狠狠狠狠777米奇| 本道久久综合无码中文字幕| 国产99在线 | 欧美| 久久精品国产亚洲av熟女| 麻豆一区二区三区精品视频| 99精品国产一区二区三区不卡| 国产suv精品一区二区五| 国内精品久久人妻无码网站| 太仓市| 久久中文字幕无码专区| 久久香蕉国产线看观看怡红院妓院| 国产露脸无套对白在线播放| 日韩本精品一区二区三区| 制服 丝袜 亚洲 中文 综合| 讷河市| 99九九热久久只有精品| 亚洲中文字幕无码一久久区|