diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index 3ccab85..3fbfc9a 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -523,4 +523,8 @@ public class Client extends Connection { public void bgrewriteaof() { sendCommand("BGREWRITEAOF"); } + + public void lastsave() { + sendCommand("LASTSAVE"); + } } \ 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 17d694a..e3c06d5 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -617,4 +617,9 @@ public class Jedis { client.bgrewriteaof(); return client.getStatusCodeReply(); } + + public int lastsave() { + client.lastsave(); + return client.getIntegerReply(); + } } \ No newline at end of file diff --git a/src/test/java/redis/clients/jedis/tests/commands/PersistenceControlCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/PersistenceControlCommandsTest.java index 29b7d05..44bd04f 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/PersistenceControlCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/PersistenceControlCommandsTest.java @@ -2,6 +2,8 @@ package redis.clients.jedis.tests.commands; import org.junit.Test; +import redis.clients.jedis.JedisException; + public class PersistenceControlCommandsTest extends JedisCommandTestBase { @Test public void save() { @@ -21,4 +23,19 @@ public class PersistenceControlCommandsTest extends JedisCommandTestBase { assertEquals("Background append only file rewriting started", status); } + @Test + public void lastsave() throws InterruptedException { + int before = jedis.lastsave(); + String st = ""; + while (!st.equals("OK")) { + try { + Thread.sleep(1000); + st = jedis.save(); + } catch (JedisException e) { + + } + } + int after = jedis.lastsave(); + assertTrue((after - before) > 0); + } } \ No newline at end of file