Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »
2011/12/25

pecl memcached をインストール

  memcached  php 
このエントリーをはてなブックマークに追加

PHP から memcached にアクセスするためには普通は PECL のmemcachememcached のどちらかを使うことになると思います。末尾にdがついてるかついていないかという1文字の違いで紛らわしいのですが違うパッケージです。

以前 memcached を使い始めた頃は前者のライブラリを使っていたのですが、今回は後者のライブラリをインストールしてみます。PECL memcached は memcache プロトコルの実装をlibmemcached を使って実現していることが特徴のようです。

以下、インストールメモ。

libmemcached のインストール

前述の通り、PECL memcached をインストールするにあたっては libmemcached が必要になります。CentOS5 なので下記の EL5 のビルド済みバイナリを rpm でインストールしてしまいます。バージョンがちょっと古いですが、これは PECL memchached の Cangelog に "Make it work with libmemcached up to 0.49." という記載があったためです。

wget ftp://ftp.pbone.net/mirror/rpms.famillecollet.com/enterprise/5/olds/i386/libmemcached-0.49-1.el5.remi.i386.rpmwget ftp://ftp.pbone.net/mirror/rpms.famillecollet.com/enterprise/5/olds/i386/libmemcached-devel-0.49-1.el5.remi.i386.rpmrpm -ivh libmemcached-0.49-1.el5.remi.i386.rpm libmemcached-devel-0.49-1.el5.remi.i386.rpm

PECL memcached のインストール

次に、PECL の memcached のインストールに入ります。

wget http://pecl.php.net/get/memcached-2.0.0b2.tgzpecl install memcached-2.0.0b2.tgz

インストールが完了したら php.ini に下記を追加して、 Apache を再起動します。

extension=memcached.so

テスト用サンプル

今回は簡単にコンソール2つ開き、片方でサーバを起動させ、もう片方でスクリプトを実行しました。

/usr/local/bin/memcached -u apache -s /tmp/memcached_test.sock -vv

実行した php スクリプトはこんな感じです。

pecl_memcached_test.php

<?phpglobal $memcached;$memcached = new memcached();$memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true);//$memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY);$memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_PHP);$memcached->setOption(Memcached::OPT_BUFFER_WRITES, true);$memcached->setOption(Memcached::OPT_NO_BLOCK, true);$memcached->setOption(Memcached::OPT_TCP_NODELAY, true);$memcached->addServer('/tmp/memcached_test.sock', 0);$memcached->setOption(Memcached::OPT_PREFIX_KEY, 'prefix1');var_dump($memcached->set("aaa","bbb"));var_dump($memcached->get("aaa"));$memcached->setOption(Memcached::OPT_PREFIX_KEY, 'prefix2');var_dump($memcached->set("aaa",array(1,2,3)));var_dump($memcached->get("aaa"));var_dump($memcached->flush());var_dump($memcached->get("aaa"));

実行結果はこんな感じになります。

$ php pecl_memcached_test.phpbool(true)string(3) "bbb"bool(true)array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3)}bool(true)bool(false)

    byhsur at 21:12[5年前][4年前][3年前][2年前][1年前][1年後][2年後][3年後][4年後][5年後] |
    こんな記事もあります 「remi PECL memcached
    デロンギがコーヒー豆のサブスクを始めてた
    E2 系新幹線が上越新幹線から退役
    time.aws.com が公開 NTP サーバーとして使えるように
    MS が Teams Premium を発表
    フィッシングサイトを確認するのに便利な PhishTank
    MS が Windows 365 をスタート
    定額給付金の使い道は?(総務省編)
    LastPass Free 版は PC / モバイルのどちらか一方だけに
    空間除菌剤には合理的な根拠なし
    Slack が Microsoft Teams Calls のベータ版を公開
    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4665
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL:Yahoo! JAPAN IDでログイン

    « :: »
    Copyright © 2004-2023 by CLES All Rights Reserved.
    サイト内検索
    検索ワードランキング
    へぇが多いエントリ
    閲覧数が多いエントリ
    1 .アーロンチェアのポスチャーフィットを修理(99669)
    2 .年次の人間ドックへ(99084)
    3 .福岡銀がデマの投稿者への刑事告訴を検討中(99073)
    4 .三菱鉛筆がラミーを買収(98682)
    5 .2023 年分の確定申告完了!(1つめ)(98651)
    最新のエントリ
    cles::blogについて
    誰が書いてる?
    最近行った場所
    サイトポリシー
    タグ一覧
    検索ワードランキング

    Referrers

      Powered by CLES
      Nucleus CMS v3.31SP3/w memcached
      21375056(W:5681 Y:1545 T:0875)
      cles::blogのはてなブックマーク数
      benchmark


      [8]ページ先頭

      ©2009-2025 Movatter.jp