From 4d078d747e2bc9024b59930c6a3dd4af6f3d1adb Mon Sep 17 00:00:00 2001 From: Jonathan Leibiusky Date: Wed, 7 Jul 2010 23:22:16 -0300 Subject: [PATCH] Added unwatch command --- README.md | 2 +- src/main/java/redis/clients/jedis/Client.java | 4 ++++ src/main/java/redis/clients/jedis/Jedis.java | 5 +++++ .../commands/TransactionCommandsTest.java | 22 +++++++++++++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b29539..6c9a823 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Jedis is a WORK IN PROGRESS. - Publish/Subscribe - Persistence control commands - Remote server control commands -- The WATCH, UNWATCH, AUTH, SORT, BLPOP, BRPOP, ZRANGEBYSCORE, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZUNIONSTORE, ZINTERSTORE commands +- The AUTH, SORT, BLPOP, BRPOP, ZRANGEBYSCORE, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZUNIONSTORE, ZINTERSTORE commands But stay close because things are going fast and all this will be implemented soon! diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index a0266d8..a20eecb 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -379,4 +379,8 @@ public class Client extends Connection { public void watch(String key) throws JedisException { sendCommand("WATCH", key); } + + public void unwatch() throws JedisException { + sendCommand("UNWATCH"); + } } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index a57440b..784dd5d 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -491,4 +491,9 @@ public class Jedis { return client.getStatusCodeReply(); } + public String unwatch() throws JedisException { + client.unwatch(); + return client.getStatusCodeReply(); + } + } diff --git a/src/test/java/redis/clients/jedis/tests/commands/TransactionCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/TransactionCommandsTest.java index ec1713a..2de2a27 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/TransactionCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/TransactionCommandsTest.java @@ -92,4 +92,26 @@ public class TransactionCommandsTest extends Assert { List resp = t.exec(); assertEquals(new ArrayList(), resp); } + + @Test + public void unwatch() throws JedisException, UnknownHostException, + IOException { + jedis.watch("mykey"); + String val = jedis.get("mykey"); + val = "foo"; + String status = jedis.unwatch(); + assertEquals("OK", status); + Transaction t = jedis.multi(); + + Jedis nj = new Jedis("localhost"); + nj.connect(); + nj.set("mykey", "bar"); + nj.disconnect(); + + t.set("mykey", val); + List resp = t.exec(); + List expected = new ArrayList(); + expected.add("OK"); + assertEquals(expected, resp); + } } \ No newline at end of file