kgrss's blog

プログラムを中心にいろいろなことを記事にしていきます!

CakePHPでRedisを使う。

こんばんは、こがらしです。

いやーほんと最近は朝から晩までサーバー漬けって感じです。。
その中でも、少し悩み続けてたことがあったんですよ。
それは、CakePHPでどうやってRedis使うの?ってやつです。

右も左もわからない僕は、とりあえずぐーぐる先生に聞くことに。
そうすると、どうやらCache EngineでRedisが利用できるようです。
おお、これでセッション管理とかをMemcache使わないですむのでいいですね!

しかしこれだけではだめです。
何って、せっかくのRedisのポテンシャルが発揮できないじゃないですか!
ということで、これはこれとして別のを探します。

次に見つかったのは、githubにて公開されていたこちら。
https://github.com/nnset/Cake-PHP-2.xx-Redis-datasource

どうやらDatasourceとして利用できるようにするもののようです。
しっかりとした実装になっています!と喜んでいたんですが、、、
CakePHPの経験は少ないのですぐ気づかなかったのですが、結構キワモノな実装でした。
とはいえしっかりCRUDの実装とかしてるので結構驚きでしたねー。
そんなこんなで残念ながらこれも却下です。

仕方ない!なら、作るしかないよね!
というわけで、はいこちら。
https://github.com/Kogarasi/CakePHP-Redis-DataSource

利用にはphpredisのモジュールが必要になります。
正直DatasourceとかModelとかわからないところが多かったので、
できるだけ自分で実装を避けるようにしました笑

かなりなんちゃって実装で、Modelから扱えればいいよね程度の実装なのでご了承ください。
CRUDなにそれ!

__callを利用してハンドリングしているのでredisモジュールの命令はすべて
$this->Redis->getDatasource()->xxxx();
とかしてくれればそのまま実行できます!

なにこれ怖い!CakePHPすごいね!
ということで、CakePHP用になんちゃってRedis-Datasource作ってみたでした。

ではではー。