【サーバー】 memchachedについて調べました。
memcashedとは
・memcachedとはソフトウェア
・memcachedとはmixiやはてな,Facebook,Vox,LiveJournalで使われている。
・memcachedとは非常に高速に動作する分散キャッシュサーバ。
memcashedの特徴
・memcachedとはシンプルなプロトコル
シンプルな行ベースのプロトコル
・memcachedとはlibeventによるイベントハンドリング
・memcachedとは内蔵のオンメモリストレージ
保存したデータは、memcached内蔵のメモリストレージに貯められる。
メモリが指定された容量に達すると,LRUに基づいて利用されないキャッシュから自動的に削除。
・memcachedとはmemcached同士での通信は行わない分散方式
全てクライアント側のライブラリ内の分散アルゴリズムが振り分ける。
memcashedのインストール
・コマンド
$ sudo yum install libevent libevent-devel
$ wget http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz
$ tar zxf memcached-1.2.5.tar.gz
$ cd memcached-1.2.5
$ ./configure
$ make
$ sudo make install
memcashedの起動
・通常起動
$ /usr/local/bin/memcached -p 11211 -m 64m -vv
・バックグラウンドでの起動
$ /usr/local/bin/memcached -h
*「/usr/local/bin/」は環境に合わせる。
memcashedに関する詳細情報
参考サイト(http://gihyo.jp/dev/feature/01/memcached)
参考サイト(http://gihyo.jp/dev/feature/01/memcached_advanced)
参考サイト(http://nippondanji.blogspot.jp/2008/05/memcached_28.html)
参考サイト(http://taka512.hatenablog.com/entry/20100324/1269428213)
参考サイト(http://www.publickey1.jp/blog/10/miximemcached.html)
参考サイト(http://www.slideshare.net/cyberxengineer/memcached-8028900)
memcachedはデフォルトでSlab Allocatorというメカニズムを使ってる
(メモリの確保・管理が容易)
メリット
・固定長の固まりに分けて,フラグメンテーション問題を完全に克服する。
・一度確保したメモリは解放せず,常にchunkを再利用します(「確保したメモリは再利用する」)
Slab Allocationの仕組み
①確保したメモリをさまざまなサイズの固まり(chunk)に分ける。
②同じサイズの固まりをクラス(chunkの集合,またはchunkのサイズを定めるクラス)に整理する。
Slab Allocatorの主な用語
デフォルトで1MB確保され,Slabに割り当てられるメモリ領域。
Slabに割り当てられた後に,slabのサイズに応じたchunkに切り分けられる。
②Chunkレコードをキャッシュするためのメモリ領域。
③Slab Class特定のサイズのchunkをまとめるクラス。
Slab Allocatorの弱点
Slab Allocatorの弱点の対策
告知
現在、私はmoreiという団体を設立し「Sweet Swift」という女性限定iOSプログラミング講座を開催しております。
アプリが作りたいと考えている方やプログラミング始めたいという方が
おりましたらぜひお誘いの上、ご参加ください!
(女性の方限定となります。ご了承ください。)
直近の開催日時などは以下のとおりです。
10/1(木) 20:00〜22:30@Viibar様(目黒駅近く)
10/17(土) 14:00〜16:30@Lib様(渋谷駅近く)
11/06(金) 18:45〜21:00@ファンコミュニケーションズ様(渋谷駅近く)
11/18(水) 20:00〜22:30@メンバーズキャリア様(月島駅近く)
12/3(木) 20:00〜22:30@ナイル株式会社様(五反田駅近く)
アプリを学びつつ、Web系会社の雰囲気も感じられる機会になるかと思いますので
ご参加お待ちしております!