Memcached は C で書かれた Unix デーモンで、専用のテキストまたはバイナリ プロトコルを使用して、指定された量のメモリ空間をハッシュ テーブルとしてネットワーク上に公開します。このプロトコルでは、set、get、delete などの限られた一連の操作だけでなく、cas (比較と設定)、incr、decr、append などのより複雑なアトミック操作も許可されます。
プロセス自体は分散やパーティショニングのロジックをまったく意識しないため、非常にシンプル、高速、堅牢になります。すべての複雑さは実際には、リクエストを正しい Memcached インスタンスにルーティングする責任を負うクライアントにプッシュされます。 Memcached の非常に一般的な使用法は、レプリケーションを行わずに各インスタンスでデータを分割することです。
この戦略は、インスタンス N の量が大きい場合に有効です。1 つのインスタンスの損失にはデータの 1/N の損失が伴うため、ほとんどの場合、キャッシュでは許容されます。このようなデータ損失が許容できない状況では、クライアントがリクエストを 2 つの Memcached インスタンスに並行して送信するだけで済むため、レプリケーションが可能です。
この記事の執筆時点では、大規模な組織の運用環境で広く使用されています。クライアントは、C/C++、Java、Python、Ruby、C# など、すべての主要言語で利用できます。
memcached を仮想プライベート サーバー (VPS) または専用サーバーにインストールするには、以下の手順に従います。
mkdir -p /root/source
cd /ルート/ソース
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i…
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum -y install libevent* (memcached binary に必要)
yum -y install memcached* ( libmemcached には memcached バイナリが必要)
gem ソース -a http://gems.github.com
* libmemcached-0.25.14 と memcached-0.13 gem の組み合わせは、安定して機能する組み合わせであることが判明しているため、当面はこの組み合わせに固執します。
wget http://blog.evanweaver.com/files/libmemcached-0.25.14.tar.gz
tar -xzvf libmemcached-0.25.14.tar.gz
cd libmemcached-0.25.14
./configure && make && make install
cd /ルート/ソース
wget http://blog.evanweaver.com/files/memcached-0.13.gem
gem インストール memcached-0.13.gem
gem install memcache-client –version=1.6.3
レールカーマ は、Ruby on Rails フレームワークの初期段階から取り組んでおり、250 を超える RoR プロジェクトを扱ってきました。最新の技術とツールに精通した 100 人以上の RoR 開発者チームを擁する RailsCarma は、あらゆる開発ニーズに応えるのに最適です。ご不明な点やご質問がございましたら、お気軽にお問い合わせください。 お問い合わせ ページ
他の関連記事を読む: