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

🗻 参考リンク

📚 おすすめの書籍