ホームページ > バックエンド開発 > PHPチュートリアル > Ubuntu 11.04 での Memcached と php5-memcache のインストールと基本的な使用方法

Ubuntu 11.04 での Memcached と php5-memcache のインストールと基本的な使用方法

WBOY
リリース: 2016-06-13 13:26:00
オリジナル
785 人が閲覧しました

Ubuntu11.04 での Memcached と php5-memcache のインストールと基本的な使用法

現在、多くの高負荷サイトは、データベース サーバーへの負荷を分散するためのキャッシュ サービスとして Memcache を使用しています。

ここでは、Ubuntu で Memcache を設定する方法と、PHP で Memecache を使用する方法のみを紹介します。Memcache の動作メカニズムやより高度なアプリケーションなど、さらに詳しく知りたい場合は、Google で調べてください...^_^

Memcache と memcached について
Memcache はプロジェクト名、memcached はサービス名です。初めての方は非常に戸惑ってしまうことが多いです。個人的には、前者を使用する方が正しいと思います。

Memcache のインストール
Memcache は、Memcache サーバーとクライアントの 2 つの部分に分かれています。 Memcache サーバーはサービスとして実行され、すべてのデータ キャッシュの確立、保存、削除が実際にここで完了します。
クライアント、ここでは PHP の呼び出し可能な拡張機能を指します。

1) Memcache サーバーをインストールします

?

sudo apt-get install memcached
ログイン後にコピー

?

Memcache サーバーをインストールした後、サービスを開始する必要があります:

?

memcached -d -m 128 -p 11211 -u root
ログイン後にコピー

?

ここでは、memcached サービスの起動パラメータについて説明する必要があります:

-p リスニングポート
-l 接続されている IP アドレス、デフォルトはローカルマシンです
-d start memcached サービスを開始します
-d restart memcached サービスを再起動します
-d stop|shutdown 閉じる 実行中memcached service
-d install memcached サービスをインストールします
-d uninstall memcached サービスをアンインストールします
-u Run as (root として実行する場合のみ有効)
-m 最大メモリ使用量、単位 MB。デフォルト 64MB
-M アイテムを削除する代わりにメモリが使い果たされた場合にエラーを返します
-c 同時接続の最大数、デフォルトは 1024
-f ブロック サイズの増加係数、デフォルトは 1.25-n 割り当てられる最小値スペース、key+value+flags のデフォルト値は 48
-h show help

?

2) Memcache クライアントをインストールします

sudo apt-get install php5-memcache
ログイン後にコピー

?

インストール後、php.ini で簡単な構成を実行する必要があります。
/etc/php5/apache2/php.ini ファイルを開き、最後に次の内容を追加します。

?

[Memcache]
; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = On

; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。
memcache.max_failover_attempts = 20

; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192

; 连接到memcached服务器时使用的默认TCP端口。
memcache.default_port = 11211

; 控制将key映射到server的策略。默认值”standard”表示使用先前版本的老hash策略。
; 设为”consistent”可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
;memcache.hash_strategy = "standard"

;控制将key映射到server的散列函数。默认值”crc32″使用CRC32算法,而”fnv”则表示使用FNV-1a算法。
; FNV-1a比CRC32速度稍低,但是散列效果更好。
;memcache.hash_function = "crc32"
ログイン後にコピー

?

php.ini を保存し、sudo /etc/init.d/apache2 restart を実行して Apache を再起動します。

?

PHP での Memcache の使用

<?php
$mem = new Memcache; //创建Memcache对象
$mem->connect('127.0.0.1', 11211); //连接Memcache服务器

$val = “这是一个Memcache的测试.”;
$key = md5($val);
$mem->set($key, $val, 0, 120); //增加插入一条缓存,缓存时间为120s

if(($k = $mem->get('key'))){ //判断是否获取到指定的key
echo 'from cache:' . $k;
} else {
echo 'normal'; //这里我们在实际使用中就需要替换成查询数据库并创建缓存.
}
?>
ログイン後にコピー

?

キーについては、通常、md5 クエリ ステートメントを使用して取得します。実際の使用では、特定のニーズに応じて決定されます。

上記の手順により、Memcache の構成と基本的な使用法が完了しました...

php5-memcache 拡張機能によって提供されるメソッド

Memcache::add ― 値を追加します(既に存在する場合は false を返します)
Memcache::addServer ― 使用するサーバー アドレスを追加します
Memcache::close ― Memcache オブジェクトを閉じます
Memcache: :connect ― Memcache オブジェクトを作成します
memcache_debug ― デバッグ機能を制御します
Memcache::decrement ― 保存されたキーの値を減算します
Memcache::delete ― キー値を削除します
Memcache::flush ― キャッシュされたデータをすべてクリアします。
Memcache::get ― キー値を取得します。
Memcache::getExtendedStats ― プロセス プール内のすべてのプロセスの実行中のシステム統計を取得します。
Memcache::getServerStatus ― パラメータを取得します。実行中のサーバー
Memcache::getStats - サーバーの実行中の統計を返します
Memcache::getVersion - 実行中の Memcache のバージョン情報を返します
Memcache::increment - 保存されたキーの場合 値を追加します
Memcache::pconnect ― Memcache 永続接続オブジェクトを作成します
Memcache::replace ― R は既存のキーを上書きします
Memcache::set ― 値を追加します。すでに存在する場合は、
Memcache::setCompressThreshold を上書きします- 特定のサイズを超えるデータを圧縮します
Memcache::setServerParams - 実行時にサーバー パラメーターを変更します

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート