箇条書きで3分で理解する memcached

箇条書きでさくっと理解、memcached!!

基本

  • KVS (Key Value Store) キーを指定して、データを保存、取得する
  • memcached 自体は、永続的でなく再起動するとデータが消える
  • 同じ memcache プロトコルを使っていても Kyoto Tycoon などは永続化する
  • 検索はできない

memcached まとめ

  • key は、250文字まで
  • key にスペースは含むことができない
  • 制御文字を入れると_(アンダーバー)に置き換えられる?
  • value は、デフォルト1mb までしか保存できない(設定で変えられる)
  • キャッシュを全部消そうとして、flush してもキー、バリューは消えない。(次回getする時にやる)
  • Webベースの管理ツールにmemcache.php と phpMemcachedAdmin がある。
  • phpMemcachedAdmin の方が高機能(ライブで状況みたり、コマンド叩けたり)だが、コードはセキュリティ的に怪しい。
  • ネームスペースはないので、一部のキャッシュだけ削除したい場合は工夫が必要
  • Kyoto Tycoon 等 memcache プロトコルを理解するサーバも多数あるよ
  • membase, Kyoto Tycoon 等 永続的に保存できるものもあるよ
  • 圧縮は、メモリサイズの節約になるが、遅くなる

PHPにおける memcache, memcached

memcache 関連ツール

  • telnet で get,set などコマンドを打って、確認できる

[memcached] memcachedコマンド一覧 - Life with IT
http://l-w-i.net/t/memcached/command_001.txt

memcache-top - perl command-line memcached stat reporter, top-like output
https://code.google.com/p/memcache-top/

セキュリティ

  • telnet で見られるだけあって、平文で丸見えだし、認証もない。外から接続できないように気をつけましょう

Tips

  • keyに意図しない文字列が入っていないか? valueに想定以上の容量や想定外のものが入っていないか?を確認するのをお勧めします。
  • または、開発環境等でエラーまたはログに吐く処理を入れのがいいと思います。(誰がどこで何を入れるかわからないため。)