play framework(java) + redisをサクッと試す。(1)
playのインストールは このへんを参考に。
redisのインストールは redis 2.2.12のインストールメモ(amazon Linux)を参考に。
では早速playのプロジェクトを作るところから、ライブラリの導入等まで。
・プロジェクト作成
play new redisplay
・jedis導入(redisのjavaクライアントの1つ)
cd redisplay/ mkdir lib wget https://github.com/downloads/xetorthio/jedis/jedis-2.1.0.jar
・commons-pool導入(jedisが必要としている)
wget http://ftp.riken.jp/net/apache//commons/pool/binaries/commons-pool-1.6-bin.tar.gz tar zxvf commons-pool-1.6-bin.tar.gz mv commons-pool-1.6/commons-pool-1.6.jar ./ rm commons-pool-1.6 -rf rm commons-pool-1.6-bin.tar.gz
・ライブラリの導入ができたので、次にソースの修正
cd ../
vim app/controllers/Application.java
package controllers; import play.*; import play.mvc.*; import views.html.*; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Application extends Controller { public static Result index() { JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost"); Jedis jedis = pool.getResource(); String result = ""; try { result = jedis.get("testKey"); } finally { pool.returnResource(jedis); } pool.destroy(); return ok(result); } }
そして実行
play run
ブラウザで確認。
エラー発生。redisの戻り値がnullの為エラー。
・redis-cliを立ち上げて値をセットする
[root@localhost redisplay]# ~/redis-2.6.9/src/redis-cli redis 127.0.0.1:6379> set testKey "test ABC" OK
セットできたので、 アプリを再度起動して、ブラウザでアクセス。
test ABCと画面に表示されました。いい感じです。
今回はredis導入して、redisから値を取得して画面に表示する所までサクッと試してみました。 次回は値のセットをやってみたいと思います。
参考: http://www.playframework-ja.org/documentation/2.0.2/SBTDependencies http://d.hatena.ne.jp/hrendoh/20110901/1314887550 http://blog.livedoor.jp/tattyamm/archives/4208836.html