ホームページ  >  記事  >  バックエンド開発  >  PHP Memcached と ttserver

PHP Memcached と ttserver

WBOY
WBOYオリジナル
2016-06-13 13:25:081215ブラウズ

PHP Memcached と ttserver

以前は、memcached をアンチブラシ制御にのみ使用していました。最近、いくつかのブログ記事やいくつかの会社のプロジェクトを読んで、memcached についての理解を深めたのでメモを書きます。

?

PHP は memcache と memcached を提供します。その違いについては、PHP モジュール: Memcached > Memcache の記事を読むことをお勧めします。

?

Memcached とは何ですか?
Memcached は、海外コミュニティ Web サイト LiveJournal の開発チームによって開発された高性能分散メモリ キャッシュ サーバーです。使用の一般的な目的は、データベース クエリ結果をキャッシュし、データベース アクセスの数を減らすことによって、動的 Web アプリケーションの速度とスケーラビリティを向上させることです。

?

?

PHP の memcached には Memcached::addServers() があり、servers パラメーターで指定されたサーバーをサーバープール。 Memcache クライアントが addServer サーバー プールを使用する場合、「crc32(key) % current_server_num」ハッシュ アルゴリズムに従ってキーを異なるサーバーにハッシュします。これは、PHP、C、および Python クライアントで使用されるアルゴリズムです。 Memcache クライアントの addserver にはフェイルオーバー メカニズムがあり、addserver に 2 つの Memcached サーバーがあり、そのうちの 1 つがダウンすると、current_server_num が元の 2 から 1 に変更されます。

?

次に、ディストリビューションをテストしましょう。マシンの数はそれほど多くないかもしれません。memcached、

を参照してください。

?

?

PHP与Memcache分布式

在一台或者多台机器启用一个或者多个进程,这里是在一台机器启用两个进程,使用两个端口:
# /usr/local/bin/memcached -p 11211 -d -u nobody
# /usr/local/bin/memcached -p 11212 -d -u nobody

PHP 测试代码
<?php
//连接Memcache
$mem = new Memcache;
$mem->addServer("localhost", 11211);
$mem->addServer("localhost", 11212);

$mem->add('key1', 1);
$mem->add('key2', 2);
$mem->add('key3', 3);
$mem->add('key4', 4);
?

次に、 memcache pecl の memcache.php の書き込み値の分布を確認すると、手がかりがわかります。 (apc.php も prc に含まれています。自分で書きたいとは思いませんでした)

?

?

ttserver については、

を参照してください。

?

?

東京キャビネット/東京暴君資料集

すべての Memcached クライアントは tokyotyrant を直接呼び出すことができます。

?

ここで迷っています。私たちがよく呼ぶ memcached は memcached.org によって実装されています。Tokyo Tyrant と Tokyo Cabinet は、高い同時実行性をサポートする分散永続ストレージ システムと見なされます。 Memcached として機能しますが、そのデータは永続的に保存できます。これは Sina の Memcachedb と同じです。ここで意味するのは、ttserver が memcached プロトコルをサポートしているということです。ttserver を起動するだけで済み、PHP の memcache を使用して使用できるということです (ttserver を起動するだけで、memcache を起動する必要はありません)。これが私の大雑把な理解です。

?

?

さらに詳しく理解するには、このカスタム Google エンジンの memcache に関する記事 http://www.google.com/cse/home?cx=016088334967758658265:ej58ey2f_s0 を参照してください。他の人が翻訳した文書もあります。

?

apc.php に似た ttserver 監視を作成する準備をしています...

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