ほとんどの場合、データベースの結果をキャッシュするためにMemCacheを使用します。私はこれまでキャッシュを作成して実行したことがないので、すでにキャッシュを実行している人に聞いてみるのは良い考えだと思いました。私が書いているシステムには、ある時点で同時実行スクリプトが実行されている可能性があります。これは私がやろうと計画していることです:
- バナー交換システムを書いています。
- バナーに関する情報はデータベースに保存されます。
- さまざまなサイトがあり、さまざまなトラフィックがあり、それらのバナーのコードを生成するphpスクリプトをロードしています。(バナーがクライアントのサイトに表示されるように)
- バナーが初めて表示されるとき、それはmemcacheでキャッシュされます。
- バナーには、たとえば1時間のキャッシュライフタイムがあります。
- 1時間ごとに、キャッシュが更新されます。
このタスクで見られる潜在的な問題は、ステップ4と6です。たとえば、トラフィックの多い100のサイトがある場合、スクリプトで複数のインスタンスが同時に実行されている可能性があります。キャッシュの有効期限が切れたときにキャッシュが一度再生成され、データが完全な状態になることをどのように保証できますか?