ホームページ  >  記事  >  バックエンド開発  >  Memcached を使用して ThinkPHP フレームワークでデータをキャッシュする方法

Memcached を使用して ThinkPHP フレームワークでデータをキャッシュする方法

不言
不言オリジナル
2018-05-04 11:51:463523ブラウズ

この記事では主に、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。