discuzさまざまなキャッシュを使用できます。ここではデータ キャッシュについてのみ説明します。 discuz は redis、memcache、その他のキャッシュ方法をサポートしています。/config/config_global.php で設定するだけで、環境がサポートしている場合に使用できます。
実際、キャッシュの読み書きは比較的簡単です:
require_once libfile('function/cache'); //加载缓存类 savecache($cachename, $data); //写缓存 loadcache($cachename); //读缓存,将缓存写到$_G变量中,通过读取$_G['cache']来获取缓存数据。
その中で、savecache()は設定されたキャッシュ(memcacheredisxpcなど)にデータを書き込みます。そしてキャッシュを common_syscache テーブルに記録します。
loadcache() を使用する場合、キャッシュを取得するために table_common_syscache クラスの fetch_all メソッドが呼び出されます。
1. メモリ キャッシュが設定されているかどうかを確認します。データが存在する場合は直接返されます。メモリ キャッシュが設定されていない場合は、ステップ 2 に進みます。
2. 次に、ファイル キャッシュが設定されているかどうかを確認します。設定されている場合は、データをキャッシュします。データが存在しない場合、またはファイル キャッシュが設定されていない場合は、そのデータが返されます。ステップ3に進みます。
3.common_syscache テーブルのデータを読み取り、それを返します。 (したがって、キャッシュをクリアするときは、これらの側面を考慮する必要があります)
function deletecache($cachenames) { if(!empty($cachenames)) { C::t('common_syscache')->delete($cachenames); } }
以上がdiscuz で memcache キャッシュを使用する手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。