クマの手も借りたい
馬とテニスとリラックマが好きな IT 系のエンジニアです。
PHP

PHPからRedisを使うPhpredisライブラリ

CentOSでRedisサーバを使う で Redis サーバとクライアントの設定をまとめましたが、実際に php のアプリケーションから利用する方法も書いておきたいと思います。

phpredisの設定

Redis のサービスが無事に起動できたら、PHP で Redis が使用できるように extension の設定をします。

php.ini で Linux の場合は php_redis.so、Windows の場合は php_redis.dll を読み込むようにします。

[Linux]
extension=redis.so

[Windows]
extension=php_redis.dll

Redis用のクラスを作成する

Redis サーバへの接続や、サーバからの値の取得や設定などがしやすいように、ラッパークラスを作ってしまうのが楽です。

まずは、コンストラクタで Redis サーバへの接続をしておきます。

他に、特定のキーで値をセットするメソッドと、特定のキーに対応する値を取得するメソッドを作成しておきます。

<?php

class RedisService {

    private $redis;

    /**
     * コンストラクタ
     */
    public function __construct() {

        $hostname = '192.168.1.100';
        $port = 6379;

        $this->redis = new Redis();

        if (!$this->redis->connect($hostname, $port)) {
            throw new Exception('fail connect redis server.');
        }
    }

    /**
     * デストラクタ
     */
    public function __destruct() {
        $redis->close();
    }

    public function setValue($key, $value) {
        $redis->set($key, $value);
    }

    public function getValue($key) {
        return $redis->get($key);
    }
}

Redis用のクラスを利用する

上記クラスを呼び出す側は、インスタンスを作成して必要なメソッドを呼び出すだけです。

この他にも、特定のキーに対して値の受け渡しをするメソッドなど、利用シーンに応じて便利なメソッドを作っておくといいと思います。

$redis = new RedisService();

$redis->setValue('foo', 'bar');

$value = $redis->getValue('foo');
Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/09/19 11:51:22時点 Amazon調べ-詳細)

あなたにオススメ