Redisは2.6よりevalコマンドによるServer Side Scriptingに対応しました。この機能は非常に便利なので使用したいのですが、現在のJedis(2013年6月5日現在)の最新版:2.1.0ではevalコマンドにバグが存在するようです。
https://github.com/xetorthio/jedis/issues/340
こちらのissueを見る限りだと2.2.0では修正予定で、master branchには既に修正が反映されているようです。
今すぐにJedisでevalコマンドを使用したい場合は、ソース一式を取得し、自分でmavenコマンドを実行し、 packageを行う必要があります。
上記の結果、targetディレクトリに"jedis-2.2.0-SNAPSHOT.jar"が作成されますので、こちらを任意の場所に置き、クラスパスを設定してあげればOKです。git clone https://github.com/xetorthio/jedis.git cd jedis mvn package
なお、Jedisでのevalコマンドは以下のような感じで使用出来ます。
実行結果は以下。Jedis jedis = new Jedis("localhost"); Object ret = jedis.eval("return 'hello redis lua world.'"); System.out.println(ret == null ? "(null)" : ret.toString());
hello redis lua world.
0 件のコメント:
コメントを投稿