PHP が Memcache、memcache 名前空間を使用する場合のシミュレートされた名前空間とキャッシュの無効化の問題を解決します
キャッシュ名前空間
Memcache 自体は名前空間をサポートしていませんが、memcache 独自のメカニズムを使用して名前空間をシミュレートできます。例: データのセットをクリアしたい場合は、名前空間を使用する必要があります。そのような例を見てみましょう:
リーリー
memcache キャッシュ無効化の問題
同時実行数が多い状況では、キャッシュに障害が発生すると、多数の同時ユーザーが同時にキャッシュにアクセスできなくなり、データベースにアクセスして同時にキャッシュをリセットすることになり、システムに潜在的な過負荷リスクが生じる可能性があります。 。
解決策:
方法 1
データベースをロードする前にミューテックス キーを追加します。ミューテックス キーの追加が成功した後、追加が失敗した場合は、スリープして元のキャッシュ データの読み取りを再試行します。デッドロックを防ぐために、ミューテックス キーにも有効期限を設定する必要があります。疑似コードは以下の通りです
リーリー
方法 2
値内にタイムアウト値 (timeout1) を設定します。timeout1 は実際の memcache よりも長くなります
タイムアウト(timeout2)が小さいです。 timeout1 がキャッシュから読み取られ、期限切れであることが判明すると、timeout1 は直ちに延長され、キャッシュにリセットされます。らん
次に、データベースからデータをロードし、キャッシュに設定します。疑似コードは以下の通りです
リーリー
興味があるかもしれない記事:
- Mac OS の PHP 環境で MemCache をインストールして設定するプロセス全体の分析
- PHP で MemCache サーバーにセッションを保存する方法
- PHP でセッションをセットアップする方法の概要memcache を使用してそれを保存します
- PHP 拡張 Memcache 分散展開ソリューション
- PHP 環境での Memcache のインストールと使用
- Windows に memcache 拡張機能の php5.2.*、php5.3.*、php5.4.* バージョンをインストールします
- PHPで実装されたMemcache Ring queueクラスの例
- phpでのmemcacheの基本操作例
- WinシステムでのPHP 5.3用のMemcachedのインストールと設定グラフィックチュートリアル
- PHPモジュールのmemcacheとmemcachedの違いの分析
http://www.bkjia.com/PHPjc/1104329.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1104329.html技術記事 PHP が Memcache を使用するときにシミュレートされた名前空間とキャッシュの失敗の問題を解決するには、memcache 名前空間キャッシュ名前空間 memcache 自体は名前空間をサポートしていませんが、memcac を使用できます...