同時実行性が高い場合、http リクエストは現在のリクエストの絶対数を返すにはどうすればよいでしょうか?
たとえば、私の最初のアクセスリクエストは次の json を返しました: {"n": 1}
100 回目のアクセスリクエストで json が返されました: {"n": 100}
データベースに書き込んでからデータベースをチェックして結果を返すという従来の方法は、同時実行性が大きい場合は保証されないようです。どうすればよいですか?これが最も単純な質問になるはずです
返信内容:
たとえば、私の最初のアクセスリクエストは次の json を返しました: {"n": 1}
100 回目のアクセスリクエストで json が返されました: {"n": 100}
データベースに書き込んでからデータベースをチェックして結果を返すという従来の方法は、同時実行性が大きい場合には保証されないようです。どうすればよいですか?これが最も単純な質問になるはずです
最も簡単な方法は、自動インクリメントされる ID の主キーを使用して mysql テーブルを構築し、リクエストごとにレコードを挿入し、読み取られた ID が必要な値を読み取ることです。
その後、ID 値に基づいて同時実行性の高いシナリオを簡単に処理できます。たとえば、[インスタント キル] では、ID が 300 未満で 6 で割り切れるというルールを使用して、インスタント キルが成功したと見なすことができます。 ID が 300 未満で 6 で割り切れるルール、[宝くじ] は ID が 100 (100 分の 1) で割り切れるルールを当選として使用できます。
自分で実装した場合、ソケットリクエストを処理し、グローバル変数を維持するシングルスレッドの無限ループにすぎません。既製の mysql を使用するほど便利ではなく、信頼性も高くありません。
修正であれば、他の言語であっても、ほぼ同じですjava
的话,一个全局的AtomicLong
可以满足你的需求吧,getAndIncrement
原子操作,再加上volatile
redis で setnx(id) を使用すると、単一スレッドで毎回 1 ずつ増加することが保証され、またインメモリ データベースであるため、超高速です。
- 読み取り操作: キャッシュを使用します
- 書き込み操作: キューを使用した非同期書き込み
純粋な Java では、カウンター オブジェクトをシングルトンにして、
を介してデータベースから取得できますか? filter
拦截所有请求计算器加1(需要同步)。不知道你说的数据库是什么意思,{n : 100}
,n
実際、あなたがやりたいのは、リクエストに従ってキューに入れられ、処理される永続的なメモリキューです。
単一のマシン上で、Linux メモリファイルシステム上の /dev/shm で SQLite の読み取りと書き込みを試すことができます。 tmpfs)
ファイルの読み取りにはネットワークを経由する必要がなく、メモリ常駐、ロック、自動インクリメント、および一意の制約を自分で実装する必要もありません。
リーリー

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。
