この記事では主に、ThinkPHP フレームワークでデータをキャッシュするために Memcached を使用する方法を紹介し、thinkPHP フレームワークでの Memcached キャッシュの設定と使用法を分析します。
この記事の例は、 ThinkPHP データ メソッドでの Memcached キャッシュの使用。参考までに皆さんと共有してください。詳細は次のとおりです:
ThinkPHP はデフォルトでファイルを使用してデータをキャッシュし、Memcache などの他のキャッシュ方法をサポートしています。主に、Memcache と Memcached の 2 つの PHP 拡張機能があります。 Memcached について話します。
PHP Memcache と比較すると、php Memcached はネイティブ C に基づく libmemcached の拡張機能です。より完全であるため、php memcached に置き換えることをお勧めします。
Memcached ドライバー (ThinkPHP/Library/Think/Cache/Driver/Memcached.class.php) はバージョン 3.2.2 から組み込まれていますが、ソースコードを参照しても使い方は説明されていません。 、構成は正常にテストされました。
まだ修正されていないバグがあります。つまり、有効期限が 0 です。理論的には永続的にキャッシュされるはずですが、ドライバー内で処理されず、すぐに期限切れになります。set メソッドは次のように変更されます。
public function set($name, $value, $expire = null) { N('cache_write',1); if(is_null($expire)) { $expire = $this->options['expire']; } $name = $this->options['prefix'].$name; if (empty($expire)) $time = 0; else $time = time() + $expire; if($this->handler->set($name, $value, $time)) { if($this->options['length']>0) { // 记录缓存队列 $this->queue($name); } return true; } return false; }
設定ファイルconfigに
//缓存配置 'DATA_CACHE_TYPE' => 'Memcached', 'MEMCACHED_SERVER' => array( array('127.0.0.1', 11211, 0) ),
を.phpに追加します。ドライバーは次のように呼ばれます:
Memcached::addServers(array)
複数のキャッシュサーバーを追加することもできます
item MEMCACHED_LIB、その名前:
Memcached::setOptions(array)
特定のオプションについては、PHP 中国語マニュアルを参照してください
関連する推奨事項:
ThinkPhp フレームワークにおけるフォーム検証と ajax 検証の詳細な説明
以上がMemcached を使用して ThinkPHP フレームワークでデータをキャッシュする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。