memcached


memcachedは高性能な分散メモリサーバです。DBへの頻繁なアクセスを防ぐために、memcachedに
キャッシュすることで高速化やスケーラビリティを向上させます。



参照元:第1回 memcachedの基本:memcachedを知り尽くす|gihyo.jp … 技術評論社

🐡 memcachedの用途

memcachedは一時的なデータの置き場として、高いパフォーマンスを持ちますが、データが常に保持されていることを保証しません。
memcachedはメモリの容量で制限があるため、スペースが不足すると古いデータを自動で削除します。
また、レプリケーションがないことや再起動時などにデータを消失します。
それらを前提としてアプリケーションでの利用を検討すべきです。

🎂 パフォーマンスを意識する

  • 1回のリクエストでバルクで値を取得すべきです(Multi GET, MGET)
  • 格納する値は圧縮する。圧縮することでレイテンシを減らし、パフォーマンスが向上する
  • 接続はプーリングして、コネクションの時間を取りすぎない。IPで指定する(DNSでの名前解決が必要ないため)
  • メモリのサイズや最大のアイテムサイズを適切に設計し、設定する

🐝 インストール

macOS

# memcachedをインストール
brew install memcached

# サービスとして常時起動
brew services start memcached

CentOS系

# memcached のインストール
sudo yum -y install memcached

# memcached の起動
sudo service memcached start

# memcached を自動で起動
sudo chkconfig memcached on

🎃 telnetで直接使う

telnetを使ってローカルのmemcachedに接続します。

telnet localhost 11211

値をmemcachedにセットします。

# セットのコマンド
# set key flags expiretime bytes
# value

# 例
set fuga 0 0 4
pugi

結果をmemcachedから取得します。

# 値を取得するコマンド
# get key

# 例
get fuga

🍄 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍