add bgrewriteaof

This commit is contained in:
Jonathan Leibiusky
2010-12-20 10:36:43 -03:00
parent ff0b43aded
commit 15c0e242d7
6 changed files with 119 additions and 99 deletions

View File

@@ -2876,4 +2876,9 @@ public class BinaryJedis implements BinaryJedisCommands {
public Client getClient() { public Client getClient() {
return client; return client;
} }
public String bgrewriteof() {
client.bgrewriteaof();
return client.getStatusCodeReply();
}
} }

View File

@@ -214,4 +214,5 @@ public interface Commands {
public void linsert(final String key, final LIST_POSITION where, public void linsert(final String key, final LIST_POSITION where,
final String pivot, final String value); final String pivot, final String value);
public void bgrewriteaof();
} }

View File

@@ -2581,4 +2581,9 @@ public class Jedis extends BinaryJedis implements JedisCommands {
client.linsert(key, where, pivot, value); client.linsert(key, where, pivot, value);
return client.getIntegerReply(); return client.getIntegerReply();
} }
public String bgrewriteof() {
client.bgrewriteaof();
return client.getStatusCodeReply();
}
} }

View File

@@ -406,4 +406,8 @@ public class Pipeline implements Commands {
public List<Object> execute() { public List<Object> execute() {
return client.getAll(); return client.getAll();
} }
public void bgrewriteaof() {
client.bgrewriteaof();
}
} }

View File

@@ -402,5 +402,9 @@ public abstract class PipelineBlock implements Commands {
client.zunionstore(dstkey, params, sets); client.zunionstore(dstkey, params, sets);
} }
public void bgrewriteaof() {
client.bgrewriteaof();
}
public abstract void execute(); public abstract void execute();
} }

View File

@@ -10,183 +10,184 @@ import redis.clients.jedis.JedisException;
public class StringValuesCommandsTest extends JedisCommandTestBase { public class StringValuesCommandsTest extends JedisCommandTestBase {
@Test @Test
public void setAndGet() { public void setAndGet() {
String status = jedis.set("foo", "bar"); String status = jedis.set("foo", "bar");
assertEquals("OK", status); assertEquals("OK", status);
String value = jedis.get("foo"); String value = jedis.get("foo");
assertEquals("bar", value); assertEquals("bar", value);
assertEquals(null, jedis.get("bar")); assertEquals(null, jedis.get("bar"));
} }
@Test @Test
public void getSet() { public void getSet() {
String value = jedis.getSet("foo", "bar"); String value = jedis.getSet("foo", "bar");
assertEquals(null, value); assertEquals(null, value);
value = jedis.get("foo"); value = jedis.get("foo");
assertEquals("bar", value); assertEquals("bar", value);
} }
@Test @Test
public void mget() { public void mget() {
List<String> values = jedis.mget("foo", "bar"); List<String> values = jedis.mget("foo", "bar");
List<String> expected = new ArrayList<String>(); List<String> expected = new ArrayList<String>();
expected.add(null); expected.add(null);
expected.add(null); expected.add(null);
assertEquals(expected, values); assertEquals(expected, values);
jedis.set("foo", "bar"); jedis.set("foo", "bar");
expected = new ArrayList<String>(); expected = new ArrayList<String>();
expected.add("bar"); expected.add("bar");
expected.add(null); expected.add(null);
values = jedis.mget("foo", "bar"); values = jedis.mget("foo", "bar");
assertEquals(expected, values); assertEquals(expected, values);
jedis.set("bar", "foo"); jedis.set("bar", "foo");
expected = new ArrayList<String>(); expected = new ArrayList<String>();
expected.add("bar"); expected.add("bar");
expected.add("foo"); expected.add("foo");
values = jedis.mget("foo", "bar"); values = jedis.mget("foo", "bar");
assertEquals(expected, values); assertEquals(expected, values);
} }
@Test @Test
public void setnx() { public void setnx() {
long status = jedis.setnx("foo", "bar"); long status = jedis.setnx("foo", "bar");
assertEquals(1, status); assertEquals(1, status);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
status = jedis.setnx("foo", "bar2"); status = jedis.setnx("foo", "bar2");
assertEquals(0, status); assertEquals(0, status);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
} }
@Test @Test
public void setex() { public void setex() {
String status = jedis.setex("foo", 20, "bar"); String status = jedis.setex("foo", 20, "bar");
assertEquals("OK", status); assertEquals("OK", status);
long ttl = jedis.ttl("foo"); long ttl = jedis.ttl("foo");
assertTrue(ttl > 0 && ttl <= 20); assertTrue(ttl > 0 && ttl <= 20);
} }
@Test @Test
public void mset() { public void mset() {
String status = jedis.mset("foo", "bar", "bar", "foo"); String status = jedis.mset("foo", "bar", "bar", "foo");
assertEquals("OK", status); assertEquals("OK", status);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
assertEquals("foo", jedis.get("bar")); assertEquals("foo", jedis.get("bar"));
} }
@Test @Test
public void msetnx() { public void msetnx() {
long status = jedis.msetnx("foo", "bar", "bar", "foo"); long status = jedis.msetnx("foo", "bar", "bar", "foo");
assertEquals(1, status); assertEquals(1, status);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
assertEquals("foo", jedis.get("bar")); assertEquals("foo", jedis.get("bar"));
status = jedis.msetnx("foo", "bar1", "bar2", "foo2"); status = jedis.msetnx("foo", "bar1", "bar2", "foo2");
assertEquals(0, status); assertEquals(0, status);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
assertEquals("foo", jedis.get("bar")); assertEquals("foo", jedis.get("bar"));
} }
@Test(expected = JedisException.class) @Test(expected = JedisException.class)
public void incrWrongValue() { public void incrWrongValue() {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
jedis.incr("foo"); jedis.incr("foo");
} }
@Test @Test
public void incr() { public void incr() {
long value = jedis.incr("foo"); long value = jedis.incr("foo");
assertEquals(1, value); assertEquals(1, value);
value = jedis.incr("foo"); value = jedis.incr("foo");
assertEquals(2, value); assertEquals(2, value);
} }
@Test(expected = JedisException.class) @Test(expected = JedisException.class)
public void incrByWrongValue() { public void incrByWrongValue() {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
jedis.incrBy("foo", 2); jedis.incrBy("foo", 2);
} }
@Test @Test
public void incrBy() { public void incrBy() {
long value = jedis.incrBy("foo", 2); long value = jedis.incrBy("foo", 2);
assertEquals(2, value); assertEquals(2, value);
value = jedis.incrBy("foo", 2); value = jedis.incrBy("foo", 2);
assertEquals(4, value); assertEquals(4, value);
} }
@Test(expected = JedisException.class) @Test(expected = JedisException.class)
public void decrWrongValue() { public void decrWrongValue() {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
jedis.decr("foo"); jedis.decr("foo");
} }
@Test @Test
public void decr() { public void decr() {
long value = jedis.decr("foo"); long value = jedis.decr("foo");
assertEquals(-1, value); assertEquals(-1, value);
value = jedis.decr("foo"); value = jedis.decr("foo");
assertEquals(-2, value); assertEquals(-2, value);
} }
@Test(expected = JedisException.class) @Test(expected = JedisException.class)
public void decrByWrongValue() { public void decrByWrongValue() {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
jedis.decrBy("foo", 2); jedis.decrBy("foo", 2);
} }
@Test @Test
public void decrBy() { public void decrBy() {
long value = jedis.decrBy("foo", 2); long value = jedis.decrBy("foo", 2);
assertEquals(-2, value); assertEquals(-2, value);
value = jedis.decrBy("foo", 2); value = jedis.decrBy("foo", 2);
assertEquals(-4, value); assertEquals(-4, value);
} }
@Test @Test
public void append() { public void append() {
long value = jedis.append("foo", "bar"); long value = jedis.append("foo", "bar");
assertEquals(3, value); assertEquals(3, value);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
value = jedis.append("foo", "bar"); value = jedis.append("foo", "bar");
assertEquals(6, value); assertEquals(6, value);
assertEquals("barbar", jedis.get("foo")); assertEquals("barbar", jedis.get("foo"));
} }
@Test @Test
public void substr() { public void substr() {
jedis.set("s", "This is a string"); jedis.set("s", "This is a string");
assertEquals("This", jedis.substr("s", 0, 3)); assertEquals("This", jedis.substr("s", 0, 3));
assertEquals("ing", jedis.substr("s", -3, -1)); assertEquals("ing", jedis.substr("s", -3, -1));
assertEquals("This is a string", jedis.substr("s", 0, -1)); assertEquals("This is a string", jedis.substr("s", 0, -1));
assertEquals(" string", jedis.substr("s", 9, 100000)); assertEquals(" string", jedis.substr("s", 9, 100000));
} }
@Test @Test
public void strlen() { public void strlen() {
jedis.set("s", "This is a string"); jedis.set("s", "This is a string");
assertEquals("This is a string".length(), jedis.strlen("s").intValue()); assertEquals("This is a string".length(), jedis.strlen("s").intValue());
} }
@Test @Test
public void incrLargeNumbers() { public void incrLargeNumbers() {
long value = jedis.incr("foo"); long value = jedis.incr("foo");
assertEquals(1, value); assertEquals(1, value);
assertEquals(1L + Integer.MAX_VALUE, (long) jedis.incrBy("foo", Integer.MAX_VALUE)); assertEquals(1L + Integer.MAX_VALUE, (long) jedis.incrBy("foo",
} Integer.MAX_VALUE));
}
@Test @Test(expected = JedisException.class)
public void incrReallyLargeNumbers() { public void incrReallyLargeNumbers() {
jedis.set("foo", Long.toString(Long.MAX_VALUE)); jedis.set("foo", Long.toString(Long.MAX_VALUE));
long value = jedis.incr("foo"); long value = jedis.incr("foo");
assertEquals(Long.MIN_VALUE, value); assertEquals(Long.MIN_VALUE, value);
} }
} }