マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】memcached


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「memcached」とは
基本情報
概要
memcached(メムキャッシュディー)とは、高性能分散メモリキャッシュサーバです。既存システムに導入してシステムレスポンスの高速化を図れます。
基本説明
「memcached」は「memory cache daemon」の略表記です。
memcachedは、メモリ上で動作するキーバリュー型揮発性キャッシュです。データベースへの問い合わせ結果(データ/オブジェクト)を一時的にキャッシュし、次に同じデータが参照された時にメモリから即座に返せます。データベースへのアクセス回数を減らし、動的Webアプリケーションの高速化/スケーラビリティ向上のために利用できます。
巨大な分散キャッシュシステムを構築でき、サーバ台数を増やすことで性能を向上できるため、大規模Webサービスなどでよく用いられます。特定の環境のみで使用したり、既存の環境で使用されていないメモリを活用する手段としても活用できます。
経緯
memcachedは、Danga Interactive社が中心となって開発されたソフトウェアです。
主な特徴
揮発性キャッシュ
memcachedはメモリ上にデータを格納するため、非常に高速なデータ読み込み/書き込みが可能です。
しかし、揮発性であるため、memcached自体の停止/ハード電源喪失などが発生すると、memcachedに保存されているデータは消失してしまいます。また、メモリが指定された容量に達すると、LRU(Least Recently Used)に基づいて利用されないキャッシュから自動的に削除されていきます。そのため、データベースのように使用できません。あくまでキャッシュ機構としての使用が想定されています。
負荷分散「コンシステント・ハッシング」
memcachedは、「コンシステントハッシング(Consistent Hashing)」アルゴリズムによってデータ分割/負荷分散を行います。分散型システムを構成する各ノード(memcached)が、論理的にリング(輪)を形作るように配置されます。
シンプルプロトコル
memcachedサーバとクライアントの通信は、シンプルな行ベースプロトコルによって行われます。複雑なフォーマット(XMLなど)は利用しません。
イベントハンドリング「libevent」
「libevent」とは、サーバに対するコネクション数が増加してもパフォーマンスが落ちないようにするための共通仕様ライブラリです。Linuxの「epoll」、BSD系OSの「kqueue」などのイベントハンドリング機能をラップします。
memcachedは、この「libevet」ライブラリを利用しているため、Linux/BSD/SolarisなどのOS上で高いパフォーマンスを発揮できます。
非セキュア
memcachedは、最高のパフォーマンスを得るために、認証/暗号化などのセキュリティ機能を提供していません。セキュリティに関しては、ネットワーク環境/セキュリティツールなどでの確保が必要です。
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Redis」「Kyoto Tycoon」など。
導入事例
Facebook/YouTube/Wikipedia/mixiなどのWebサービスで採用され、スケーラビリティ向上のための重要要素になっています。
ライセンス情報
memcachedのライセンスは「BSDライセンス」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク7位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク8位🏆
【ChatGPT使ってみる実験室】 WordPress関数を作って記事リストを出力 - 🏆ランク9位🏆
【OSS情報アーカイブ】GitBucket - 🏆ランク10位🏆
【無料で使える】「 ファイアウォール 」ソフトウェアまとめ