このキャッシュ システムをどのように使用しますか? 各関数で、まず memcache にキャッシュがあるかどうかを判断し、キャッシュがない場合は、それを最初に memcached に書き込みます。
次に、コーディングは次のようになります:
if(!memcache){
memcached にデータを書き込む
}else{
memcached から直接データを取得する
}
ここで問題となるのは、各関数と各モジュールを最初に Memcached で判断する必要があるかどうかです。何か良い建築方法はないでしょうか?
現在はこのように行われています
これが必要な場所が少ないため
これが使用される場所が多数ある場合は、データベースストレージとクエリを追加します+ キャッシュはカプセル化されます。カプセル化されたメソッドが直接呼び出されるたびに、毎回 memcache の get と set を記述する必要はありません
キャッシュを使用する原則は次のとおりです:
次の場合のみ。キャッシュされたデータと異なるデータが生成される場合は、ライトキャッシュを行います。たとえば、データベースの挿入と変更
他の場所は読み取り専用
Memcache にはヒット確率があります。つまり、データは明らかに memcache 内にありますが、読み込まれていません。 これは、アクセス数が多い場合に表示されます。すべてのリクエスト まず、データが memcache から読み取られたかどうかを判断する必要があります。