この記事では、主に PHP データベース操作における memcache の使用法を紹介し、memcache のダウンロード、インストール、設定、および関連する使用スキルを例の形式で詳細に分析します。必要な友人は参考にしてください。詳細は次のとおりです。 :
同時実行性の高い Web アプリケーションでは、データベース アクセスのボトルネックが常に大きな問題となり、特定の制限に達すると、データベースは簡単にクラッシュする可能性があります。必要に応じて、読み取り速度が速くなるだけでなく、データベース IO も節約されます。
memcache の概要Memcache は、メモリ内に統合された巨大なハッシュ テーブルを維持することにより、画像、ビデオ、ファイルやデータベースの検索結果など。簡単に言うと、データがメモリに呼び出されてからメモリから読み取られるため、読み取り速度が大幅に向上します。 memcacheの
memはメモリ、cacheはキャッシュ、組み合わせてメモリキャッシュという意味です。 memcache を使用する場合、まず memcache からデータを読み取り、見つからない場合はデータベース内で検索し、次回検索するときに簡単に見つけられるようにデータを memcache に保存します。
注:
memcache は、メモリのクローズと解放の特性により、内部的に格納されたコンテンツを永続化することができないため、1M を超えるデータは保存されません。保管できません。memcache は libevent ライブラリに依存します。インストールする前に、libevent ライブラリがインストールされていることを確認する必要があります。 memcache は、キーと値のストレージのみをサポートする軽量のインメモリ データベースです。
memcache にはユーザーとパスワードの設定がないため、セキュリティ目的を達成するために、構成中に接続を制限するようにファイアウォール ポートを構成する必要があります。
repcached を使用すると、memcache のシングルマスター、シングルスレーブ、マスター/スレーブのレプリケーションも簡単に実装できます。
memcache のアプリケーション シナリオ
永続的なストレージを必要としない大量のデータ、またはデータベースに既に存在し変更されない大量のデータを保存します。
データを非常に頻繁に読み取ります。要件は 1M 未満です。データ型は単純なキーと値のデータです。 計算結果とレンダリングされた Web ページ テンプレート ファイル。
アトミックにインクリメントできるため、カウントに使用できます。
データの有効期限を設定し、有効期限データを保存できるため。ただし、割り当てられたメモリが不十分な場合、memcache は最長未使用期間原則 (LRU) に基づいてメモリを再利用するため、情報が事前に削除される可能性があることに注意してください。
memcache を使用してセッション情報を保存し、マルチサーバーのセッション共有を実現します。必要な構成: php.ini:
session.save_handler = memcache //设置session的储存方式为memcache memcache.hash_strategy = "consistent"//设置memcache的hash算法为一致性哈希算法。 session.save_path = "tcp:/ip:port" //设置session储存的位置,多台memcache用逗号隔开。
memcache のインストールは簡単です。サーバーは公式 Web サイト http://www.memcached.org/ からダウンロードして解凍できます。ディレクトリ内で ./configure -prefix=/path を実行してコンパイルし、次に make / make test / make install を実行して直接実行できるバイナリ ファイルを取得します。
./memcached コマンドを使用してサーバーを起動します。 一般的に使用されるパラメーターは次のとおりです:-p ポート リスニング ポート (デフォルト: 11211)
-d Memcached をバックグラウンド モードで実行します -u ユーザー名 Memcached を実行しているアカウント-m n max メモリ使用量、単位は MB、デフォルトは 64 MB です
-c 接続 最大接続数、デフォルトは 1024 です
を使用して memcache に接続した後memcache クライアントまたは Telnet を使用して、memcache 操作が実行されます。
memcache は単純なデータ構造を持っているため、コマンド ライン コマンドはほとんどありません。一般的なコマンドを使用してコマンド フォーマットを簡単に分析します。add key flags expire_time length \r\n value
set key flags expire_time length //如果有值则覆盖原值,没有则新增,add在有值时会存储失败 get key //获取key的值 replace key flags expire_time length// 替换一个已存在的key append/preappend key flags expire_time length// 给key的value后面/前面添加新内容。 preappend key flags expire_time length // 给key的value前面添加新内容。 inc/dec key [n] //key的值递增/递减1/[n] delete key //删除一个key flush_all [n] //[在n秒后]删除全部数据 stats [options] //获取memcache[有关某一项]的详细信息
https://pecl.php.net/index.php で検索して、必要な memcache 拡張機能パッケージを入手します。
Linux システムでは、ダウンロードするバージョン (最新の安定バージョンを推奨) を直接選択します。解凍後、解凍ディレクトリ内の phpize ツールを使用して設定ファイルを生成し、インストールが完了したら、それを使用してインストールします。 /php.iniにあります。詳しくは前回の記事 http://www.jb51.net/article/121314.htm をご覧ください。 Windows で、リンクの右側にある「Windows ロゴ DLL」リンクをクリックし、新しく開いたページで、バージョン、32 ビット/64 ビット、スレッドセーフ/非に応じて必要な拡張機能を選択します。 -thread-safe、特定のオプションは phpinfo() ページで確認できます。ダウンロードが完了したら、それを phppath/ext/ ディレクトリに置き、extension=php_memcacache.dll を php.ini に追加して、サーバーを再起動してインストールを完了します。在phpinfo()页面中看到memcache扩展后,说明安装成功,我们就可以在php脚本中使用关于memcache的类函数库了。
在手册中我们可以找到许多关于php的memcache扩展的使用,以下是一个典型的memcache使用流程。
$m=new Memcache(); $m->connect($host,$port); $m->add($key,$value[,flags,$expire_time]); $content=$m->get($key); $m->close();
这是一个简单的memcache连接程序,在进行memcache分布式存储时,还需要用到$memcache->addServer()
向memcache集群中添加服务器。
相关推荐:
ThinkPHP框架中使用Memcached缓存数据步骤详解
以上がPHPデータベースでのmemcacheの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。