Laravel の次のチュートリアル コラムでは、Laravel におけるインターフェイスの同時実行の簡単な処理を紹介します。
Laravel におけるインターフェイスの同時実行性の簡単な処理
はじめにインターフェースの同時処理は日常のビジネス ロジックで頻繁に発生します。最も一般的なのは、同じインターフェースが瞬時に何度も調整され、データが混乱することです。前に述べたこの問題を回避するには、一般にフロントエンドおよびモバイル端末 ボタン トリガー インターフェイス制限およびバックエンド インターフェイス呼び出し制限に制限が適用されます。
この方法は、単純なインターフェイスの周波数制限にのみ適しています。商品のフラッシュセールには当てはまりませんが、原理は同様です。
原則これは単純な実装プロセスです。主に Redis ネイティブの set メソッド クラスを使用して、キーの値を設定するときに有効期限を設定します。キーが変更された場合存在する場合は false を返します。存在しない場合は、値を設定して有効期限を設定し、true を返します。デッドロックの発生が回避されます。 コード部分:/** * 简单处理并发 * @User yaokai * @param $key 要设置的key * @param int $ttl 限制过期时间 * @param int $value 要设置的值 * @return bool true成功 false失败 */ function redisConcurren($key, $ttl = 240, $value = 1) { // 实例化原生 redis $redis = new \Redis(); // 指定需要使用的 redis 服务器 $redis->connect(config('database.redis.default.host')); // 设置密码 $redis->auth(config('database.redis.default.password')); // 设置默认的 redis 库 $redis->select(config('database.redis.default.database')); // 利用原生的set方法设置一个key的过期时间 $status = $redis->set($key, $value, array( 'nx', 'ex' => $ttl )); return $status; }
以上がLaravel におけるインターフェイスの同時処理の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。