laravelの高同時実行性宝くじフラッシュセールソリューション

藏色散人
リリース: 2020-06-18 13:39:10
転載
4714 人が閲覧しました

Laravelの次のチュートリアル コラムでは、laravel の同時実行性の高い宝くじフラッシュ セール ソリューションを提供します。 ##########################################テスト#######

1.

laravelの高同時実行性宝くじフラッシュセールソリューション##8 コア 16G

# サーバー

##Jmeter ##同時実行性

2000

  • 注意テストしないでくださいネットワーク上の理由により、このマシンをロックせずに1000 の同時実行性をテストするのが通常です。 Alibaba Cloud でテスト マシンを購入できます1.mysql 共有ロック バージョン

sql と共有ロック、在庫 フィールドを 1 減らします。成功を返すと成功を意味し、失敗を返すとデクリメントが失敗することを意味します。在庫フィールドは署名されていません

移行ファイル

increments('id'); $table->integer('stock')->default(0)->comment('库存1'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('stock_test'); } }
ログイン後にコピー
コード
$model = new \App\Models\StockTest(); $id = $request->input('id',1); try { // 手动开始事务 DB::beginTransaction(); // sql加共享锁,stock字段减1。返回成功表示成功,返回失败表示自减失败。stock字段是无符号的 $is = DB::table('stock_test')->lockForUpdate()->increment('stock',-1); if($is) { log_info('id='.$id.'库存减1'); // 提交事务 DB::commit(); return response('成功',200); } else { return response('失败',201); } } catch (\Exception $exception) { // 回滚事务 DB::rollBack(); return response('失败',201); }
ログイン後にコピー
2 .reids キュー

#1.

#lpush

#キューに参加

2.

lpop

ポップアップ キュー。対応する値が正常に返されます。値が存在しない場合は、が返されます。 ###ヌル### ###########################

以上がlaravelの高同時実行性宝くじフラッシュセールソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!