目次
ディスカッションへの返信(解決策)
ホームページ バックエンド開発 PHPチュートリアル : 複数のユーザーが同時にアクセスすると問題が発生しますか?

: 複数のユーザーが同時にアクセスすると問題が発生しますか?

Jun 23, 2016 pm 01:48 PM
マルチユーザー アクセス

お気軽にアドバイスをお願いします、よろしくお願いします!
状況は次のように説明されます:

システム構造: 1. インターフェイス モジュール (php) --> 2. 中間インターフェイス (php) --> 3. データベース (mysql)
1. インターフェイス モジュール: 操作を表示します。インターフェイスと操作結果
2. 中間インターフェイス: インターフェイス モジュールとデータベース間のデータ交換、およびその他の機能を担当します (ヘルプの要求とは関係ないため説明しません)

一般的なプロセス: http を送信します。インターフェイス モジュールからリクエストが送信され、そのリクエストがインターフェイス モジュールに送信されると、インターフェイス モジュールはデータベースにアクセスしてデータを取得し、それをインターフェイス モジュールに返します

ここで問題が発生します:
インターフェイス モジュールには大量のアクセスがあります。これらのユーザーは、特定のデータを同時に編集するなど、同じリクエストを同時にインターフェイスに送信する可能性があります。

Q: この問題を回避するにはどうすればよいですか?

説明が明確かどうかわかりませんが、アドバイスをお願いします、ありがとう!


ディスカッションへの返信(解決策)

ロック

ビジネスが「特定のデータの同時編集」を許可している場合は、最後に送信されたものが優先されます
それ以外の場合は、リクエストが受信されたときに返されますxxx が編集中です

Bamboo さんのアドバイスありがとうございます!もっと詳しく説明してください?パートナーは、インターフェイス モジュールの制限の下でのみ特定のデータを同時に編集できることを要求します。

ユーザー A がニュースを編集して正常に読むと、このデータのステータス フィールドを 1 に設定し、読んだタイムスタンプを記録します
この時点で誰かが編集したい場合、ステータス 1 はそれを拒否します
ユーザー A のページajaxホイールクエリ、サーバーにまだ編集中であることを伝え、数十秒ごとに時刻を更新します
Aが編集して送信したとき、またはユーザーBがステータスを1に編集したいとき、しかし最後のajax送信の時刻があまりにも違いすぎます現在時刻、ステータスを 0 に設定します

ユーザー A がニュースを編集して正常に読み取ったら、このデータのステータス フィールドを 1 に設定し、読んだタイムスタンプを記録します
この時点で誰かが編集したい場合は、ステータス 1 はそれを拒否します
ユーザー A のページの Ajax ポーリングで、まだ編集中であることをサーバーに伝え、数十秒ごとに時刻を更新します
A が編集して送信するとき、またはユーザー B がステータスを 1 に編集したい場合、時刻は前回の ajax 送信の時刻が現在と違いすぎるので、ステータスを 0 に設定してください



ご返信ありがとうございます。これがインターフェイスモジュールで実行できるかどうかについていくつか疑問があります。以前、長年 PHP をやっている友人にアドバイスを求めたことがありますが、それは修正できないと言われました。
私も以前ロゴを設定しようと思ったのですが、データベースが操作できず断念しました。

編集する際に許可は必要ありませんか? A が B に送信する内容も編集できますか?

編集する際に許可は必要ありませんか? A が B に送信する内容も編集できますか?



ご来場いただきありがとうございます!
編集する際には許可が必要ですが、オンライン上では複数の許可されたユーザーが特定のデータを編集することができます。

同じレコードを同時に編集できないようにするのはビジネスレベルの要件です
ビジネス要件の実装は中間インターフェイスで完了する必要があります。特別なニーズがある場合は、インターフェース モジュールで完了することもできます
ニーズは中間インターフェースで完了する必要があります

同じレコードを同時に編集することは許可されていません。これはビジネス レベルです。要件
ビジネスニーズの実現は中間にある必要があります インターフェイスで完了します。特別なニーズがある場合は、インターフェース モジュールで完了することもできます
ニーズは中間インターフェースで完了する必要があります



モデレータに再度アドバイスをいただき、ありがとうございます。 「xuzuning」モデレーターさん、ありがとうございます!
私の説明では詳しくないので、ビジネスロジックを再説明します。
インターフェイス層の機能には、データの表示、データの編集要求、操作ユーザーの管理などがあり、インターフェイス層には、操作ユーザー。
中間インターフェイス層: 操作ユーザーに関係なく、インターフェイス層からのリクエストを処理します。どの操作ユーザーの操作要求であっても、中間インターフェイス層は正当であるとみなされます。

モデレーターのような気がしますが、中間インターフェース層で処理して、誰がリクエストを送ってもリクエストが来て、IDがロックされ、結果が返ってきたらIDのロックが解除されるということですか?
以前からそう思っていましたが、PHPに触れるのは初めてで、相手もベテランなのでよくわかりませんでした。

先方はajaxを使えば良いとインターフェース層での業務をしてほしいと主張しましたが、ロゴの設定はできないような気がしたので混乱して質問させていただきました。

アドバイスをくださったモデレーターに改めて感謝します。

中間層に置くのが適切です
一般的に中間層は通常 API と呼ばれるものなので
フィルター条件を追加するのは比較的簡単です

もちろんインターフェースに実装することもできますただし、インターフェイス層はデータ層に直接アクセスすべきではありません(アクセスできません)。
したがって、別のキャッシュメカニズムを設定する必要があり、リクエストが処理されない場合は中間層にリクエストを送信する必要はありません
共有メモリ、データベース、またはファイルキューを使用するだけです

中間層に置くのが適切です
一般的に中間層は通常 API と呼ばれるものなので
フィルター条件を追加するのは比較的簡単です

もちろんインターフェースに実装することもできますただし、インターフェイス層はデータ層に直接アクセスすべきではありません(アクセスできません)。
したがって、別のキャッシュ メカニズムを設定する必要があり、処理されない場合はリクエストを中間層に送信する必要はありません。
共有メモリ、データベース、またはファイル キューを使用するだけです



ありがとうございます。これは非常に明確です。ありがとう! ! !
縛ってね、笑。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

iOS 17: 写真にアクセスできるアプリを制御する方法 iOS 17: 写真にアクセスできるアプリを制御する方法 Sep 13, 2023 pm 09:09 PM

iOS17 では、Apple はアプリが写真に表示できるものをより詳細に制御できるようになりました。アプリごとにアプリへのアクセスを管理する方法については、この記事を読んでください。 iOS では、Apple のアプリ内フォト ピッカーを使用して、特定の写真をアプリと共有できますが、写真ライブラリの残りの部分は非公開のままです。アプリは写真ライブラリ全体へのアクセスを要求する必要があり、アプリに次のアクセスを許可するかどうかを選択できます: 制限付きアクセス – アプリは選択できる画像のみを表示できます。これは、アプリ内でいつでも行うか、[設定] に移動することで実行できます。 &gt ;プライバシーとセキュリティ>写真をクリックして、選択した画像を表示します。フルアクセス - アプリで写真を表示できます

Java で JSONNode の JSON フィールド、配列、ネストされたオブジェクトにアクセスするにはどうすればよいですか? Java で JSONNode の JSON フィールド、配列、ネストされたオブジェクトにアクセスするにはどうすればよいですか? Aug 30, 2023 pm 11:05 PM

JsonNode は、JSON を JsonNode インスタンスに読み取り、JsonNode を JSON に書き込むことができる Jackson の JSON ツリー モデルです。 Jackson を使用して、ObjectMapper インスタンスを作成し、readValue() メソッドを呼び出すことで、JSON を JsonNode に読み取ることができます。 JsonNode クラスの get() メソッドを使用して、フィールド、配列、またはネストされたオブジェクトにアクセスできます。 asText() メソッドを使用して有効な文字列表現を返し、JsonNode クラスの asInt() メソッドを使用してノードの値を Javaint に変換できます。以下の例では、Json にアクセスできます。

Python を使用してさまざまなオーディオ ファイルやビデオ ファイルのメタデータにアクセスする Python を使用してさまざまなオーディオ ファイルやビデオ ファイルのメタデータにアクセスする Sep 05, 2023 am 11:41 AM

Mutagen と Python の eyeD3 モジュールを使用して、オーディオ ファイルのメタデータにアクセスできます。ビデオのメタデータには、ムービーと Python の OpenCV ライブラリを使用できます。メタデータは、オーディオ データやビデオ データなど、他のデータに関する情報を提供するデータです。オーディオ ファイルとビデオ ファイルのメタデータには、ファイル形式、ファイル解像度、ファイル サイズ、再生時間、ビットレートなどが含まれます。このメタデータにアクセスすることで、メディアをより効率的に管理し、メタデータを分析して有用な情報を取得できます。この記事では、オーディオ ファイルとビデオ ファイルのメタデータにアクセスするために Python が提供するライブラリまたはモジュールのいくつかを見ていきます。オーディオ メタデータへのアクセス オーディオ ファイル メタデータにアクセスするための一部のライブラリは、突然変異生成を使用しています。

Tomcat が war パッケージをデプロイした後にアクセスできない問題を解決する方法 Tomcat が war パッケージをデプロイした後にアクセスできない問題を解決する方法 Jan 13, 2024 pm 12:07 PM

Tomcat がデプロイ後に war パッケージに正常にアクセスできない問題を解決するには、特定のコード サンプルが必要です。広く使用されている Java Web サーバーとして、Tomcat を使用すると、開発者は独自に開発した Web アプリケーションをデプロイ用の war ファイルにパッケージ化できます。ただし、構成が正しくないことやその他の理由により、war パッケージをデプロイした後に正常にアクセスできないという問題が発生する場合があります。この記事では、このジレンマに対処する具体的なコード例をいくつか紹介します。 1. Tomcat サービスを確認する

PHP開発における外部リソースへのアクセスと呼び出しを解決する方法 PHP開発における外部リソースへのアクセスと呼び出しを解決する方法 Oct 08, 2023 am 11:01 AM

PHP 開発における外部リソースへのアクセスと呼び出しの問題を解決するには、特定のコード サンプルが必要です。PHP 開発では、API インターフェイス、サードパーティ ライブラリ、その他のサーバー リソースなどの外部リソースにアクセスして呼び出す必要がある状況によく遭遇します。 。これらの外部リソースを扱うときは、パフォーマンスと信頼性を確保しながら、安全にアクセスして呼び出す方法を考慮する必要があります。この記事では、いくつかの一般的な解決策について説明し、対応するコード例を示します。 1.curl ライブラリを使用して外部リソースを呼び出す Curl は、非常に強力なオープン ソース ライブラリです。

Windows 7でファイルを変更するときにアクセスが拒否される問題を解決する方法 Windows 7でファイルを変更するときにアクセスが拒否される問題を解決する方法 Jul 04, 2023 pm 07:01 PM

win7でファイルを変更するときにアクセスが拒否される問題を解決するにはどうすればよいですか?一部のシステム ファイルを変更する場合、操作を実行する権限がないことを示すメッセージが頻繁に表示されます。フォルダーのアクセス許可をオフにするか、管理者権限を取得できます。このようなファイルを変更する必要があるユーザーのために、次の具体的なチュートリアルを見てみましょう。 win7 でファイルを変更するときにアクセスが拒否される問題の解決策: 1. まず、対応するフォルダーを選択し、上のツールをクリックして、フォルダー オプションを選択します。 2. 「表示」タブに入ります。 3. [簡易ファイル共有を使用する] チェックボックスをオフにして確認します。 4. 次に、対応するフォルダーを右クリックし、「プロパティ」をクリックします。 5. 「セキュリティ」タブに入ります。 6. アイコンの位置を選択し、「詳細設定」をクリックします。 7

Windows 10 Home Editionで共有フォルダーにアクセスできない場合の対処方法 Windows 10 Home Editionで共有フォルダーにアクセスできない場合の対処方法 Jan 11, 2024 pm 07:36 PM

フォルダーの共有は、家庭やビジネスのネットワーク環境において非常に便利な機能で、他のユーザーと簡単にフォルダーを共有できるため、ファイルの転送や共有が容易になります。 Win10 Home Edition 共有フォルダーにアクセスできない 解決策: 解決策 1: ネットワーク接続とユーザー権限を確認する Win10 共有フォルダーを使用しようとすると、まずネットワーク接続とユーザー権限が正常かどうかを確認する必要があります。ネットワーク接続に問題がある場合、またはユーザーに共有フォルダーへのアクセス権限がない場合、アクセスできなくなる可能性があります。 1. まず、ネットワーク接続がスムーズで、コンピュータと共有フォルダが配置されているコンピュータが同じ LAN 上にあり、正常に通信できることを確認してください。 2. 次に、ユーザー権限をチェックして、現在のユーザーにファイルを共有する権限があることを確認します。

HTML5 でのみカメラデバイスへのアクセスを許可する HTML5 でのみカメラデバイスへのアクセスを許可する Sep 22, 2023 pm 11:09 PM

iOS にはカメラ デバイスへの固有のアクセスはありません。公式仕様の推奨事項は次のとおりです。この仕様のユーザー エージェント実装では、マイクまたはカメラを介してコンテンツのキャプチャを開始する前にユーザーの同意を求めることが推奨されます。これは、ユーザー データのプライバシーに関する規制、法律、ベスト プラクティスの要件を満たすために必要となる場合があります。さらに、入力デバイスが有効になったときにユーザーに指示を提供し、ユーザーがそのようなキャプチャを終了できるようにするために、ユーザー エージェントの実装が推奨されます。同様に、ユーザー エージェントは、複数のデバイスが存在する場合に使用する正確なメディア キャプチャ デバイスをユーザーが選択できるようにするなど、ユーザー コントロールを提供することをお勧めします。ビデオキャプチャモードでサウンドキャプチャを無効にします。

See all articles