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

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

関連記事

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

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

gitのリモートプライベートリポジトリを公開鍵認証を使って環境構築する

概要 みなさんこんにちはcandleです。 今回はgitのリモートプライベートリポジトリを作ってみたいと思います。 リモートリポジトリと言えば、Githubとかbitbucketが有名だと思います。会 …

memcachedサーバとruby on railsのdalliを使用してセッションを管理する

概要 みなさんこんにちはcandleです。今回はmemcachedサーバを利用してrailsのセッションを管理してみたいと思います。 一般にrailsでセッション管理をしていると、ブラウザのcooki …

EC2にRDSの為のmysqlコマンドのみをインストールする

概要 みなさんこんにちはcandleです。今回はちょっとしたことですが、忘れない様にまとめておきます。 EC2でRDSを使う場合 EC2の中にMysqlサーバーは必要ありません。 ただmysqlコマン …

出力fluentdから収集fluentdへforwardを使ってログデータを送信する方法

概要 みなさんこんにちはcandleです。今回はfluentdサーバを2台使って、ログの収集を行ってみたいと思います。サーバ2台はどのような環境でも良いのですが、私が今回説明する環境は1つはMac P …

  • English
  • 日本語

プロフィール


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

スポンサードリンク

アーカイブ