joppot

コピペで絶対動く。説明を妥協しない

サーバ

macにmemcachedをインストールする方法と動作確認

投稿日:2014年7月9日更新日:

Pocket

Cardinal in Spruce Tree

概要

memcachedはrailsやphpのセッションを保持しておく時に使うソフトというかサーバ的なものです。一般にSNSやログイン式のサービスを提供する時はセッションというのを持ちます。セッションというのはユーザがサービスに認証を経て正しく参加しているかの情報を持っているものです。

このセッションは様々なとこに置くことができます。有名なところだと、ブラウザのクッキーやnginxのphpfpmだとサーバの適当なディレクトリに置いたり、railsだとデータベースに入れたりできます。

そのセッションの1つの置き場として、memcachedがあります。

memcachedは簡単なデータのインプット・アウトプットとして優れたサーバで、ここでセッションを管理すると比較的に速いサービスが提供できると言われています(candleは比較した事がないのでなんともいえないですが)。

インストールの仕方と起動、をやってみましょう。

下のサイトを参考にさせてもらいました。ありがとうございます。
http://morizyun.github.io/blog/gem-dalli-memcache/


前提

homebrewが入っている


memcachedをインストールする

homebrewが入っているなら、下のコマンドでインストールします。

brew install memcached

自動的にmemcachedで必要となる他のライブラリもインストールしてくれます。

installmemcached

インストールの最後に3つほど、実行してくださいと表示されます。

一番上のlnコマンドは、どんな場合でも実行しておいてください。
私の場合は下のコマンドを打つ様に出てきました。

ln -sfv /usr/local/opt/memcached/*.plist ~/Library/LaunchAgents

次の、launchctlコマンドは常にmemcachedを起動させるかどうかのコマンドです。

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist

この1文を実行しておけば、次回PCをシャットダウンして起動した時に自動的にmemcachedが起動します。ちなみに、この設定は後で変えられます。

最後の1文はlaunchctlで起動したくない場合に直接memcachedサーバを起動させるコマンドです。このコマンドでmemcachedを起動した場合はその処理を止めるとmemcachedサーバも止まります。簡単に使いたい場合はこっちの方が手軽です。

/usr/local/opt/memcached/bin/memcached


memcachedの起動と停止

memcachedはサーバなので、起動したり停止したりできます。

直接memcachedを起動する

先ほど、上で紹介した様に、「 /usr/local/opt/memcached/bin/memcached」見たいに、フルパスで実行しても良いのですが、brewで入れているので「memcached」と入力するだけで、サーバが起動します。

memcached

startmemcached

memcachedコマンドは打ち込んだあとスタンバイ状態になります。
止めるにはctrl+cを押しましょう。

launchctlでサーバを起動する

launchctlで起動させる為のmemcachedのpiltファイルはホームディレクトリのLibraryの中のLaunchAgentsの中にあります。これですね。homebrew.mxcl.memcached.plist
下のコマンドを実行すれば、起動します。

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist

止めるには

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.memcached.plist

と実行すれば止まります。

memcachedが起動しているか確認する

memcachedはコマンドを実行しただけだと、いまいち実行されているか分からないので、下のコマンドで確認してください。

ps aux | grep memcached

launchctlでmemcachedを起動している場合には下の様に表示されます。

psmemcached

telnetからmemcachedを使う

telnetは便利なツールで様々な事ができるunixソフトですが、memcachedにも対応しています。

memcached側で本当に値が保存できているのか確認したいので、一度memcachedを止めて

/usr/local/opt/memcached/bin/memcached -vv

startmemcachedvv

で起動した上で、別のウィンドウで、下のコマンドを打ちましょう。

telnet localhost 11211

何か値をストックしてみましょう。
ストックするコマンドはsetコマンドです。

set key flags expiretime bytes
value

試しに下のコマンドを打ちましょう。
setコマンドを打った後に、バリューを入力します。

set hoge 0 0 4
huga

telnet11211

上の場合はkeyがhogeでvalueがhugaです。
STOREDが出れば成功です。

getコマンドでバリューを取得しましょう。
一般に下のコマンドで取得できます。

get key

上のサンプルに基づけば、

get hoge

を入力します。

gethoge

まあ、telnetでmemcachedを使うのはあくまで動作確認だけですね。
memcachedから終了するには「ctrl+]」でログアウトして、「q」を打ち込めばtelnetが終了します。

まとめ

以上でmemcachedのインストールと、簡単な動作確認をやってみました。memcached自体はphpとかrailsとかと組み合わせて使うので、今後それもやって行きましょう。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

td-agentでnginxのerror.logとaccess.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。今回はtd-agentでnginxのログを収集します。 td-agentで解説しますが、fluentdと設定は基本的に同じになると思う …

sshコマンドをaliasかssh configを使って短縮する

概要 みなさんこんにちはcandleです。今回はsshの接続先のホスト名を短くする方法です。 ssh接続は非常に強力なネットワークツールですが、接続先の指定がやや面倒ですね。それを単純にする方法をまと …

wordpress skeletonをnginx の本番環境でfabricを使って運用してみる

はじめに みなさんこんにちはcandleです。今回はskeletonを使用してwordpressを開発している時に、それを本番環境でどう使うかを試してみたいと思います。 本番環境はローカルのvagra …

ElastiCacheのmemcachedとEC2上のrailsとdalli-elasticacheを使ってキャッシュ管理する

概要 皆さんこんにちはcandleです。今回はaws上にあるElastiCacheというサービスを使って railsのキャッシュを管理したいと思います。 キャッシュというのはwebサービス上でよく使う …

ruby on railsのbundleのGemfileでインストールしたgemを削除する

概要 みなんさんこんにちはcandleです。今回は間違って入れてしまったり、不必要になったgemの削除のやり方を紹介します。 前提 ruby on railsの環境が整っている gemの概念を理解して …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ