new - dump and restore command
This commit is contained in:
@@ -102,6 +102,14 @@ public class BinaryClient extends Connection {
|
|||||||
public void del(final byte[]... keys) {
|
public void del(final byte[]... keys) {
|
||||||
sendCommand(DEL, keys);
|
sendCommand(DEL, keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void dump(final byte[] key) {
|
||||||
|
sendCommand(DUMP, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void restore(final byte[] key, final int ttl, final byte[] serializedValue) {
|
||||||
|
sendCommand(RESTORE, key, toByteArray(ttl), serializedValue);
|
||||||
|
}
|
||||||
|
|
||||||
public void type(final byte[] key) {
|
public void type(final byte[] key) {
|
||||||
sendCommand(TYPE, key);
|
sendCommand(TYPE, key);
|
||||||
|
|||||||
@@ -3238,4 +3238,16 @@ public class BinaryJedis implements BasicCommands, BinaryJedisCommands, MultiKey
|
|||||||
client.bitop(op, destKey, srcKeys);
|
client.bitop(op, destKey, srcKeys);
|
||||||
return client.getIntegerReply();
|
return client.getIntegerReply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public byte[] dump(final byte[] key) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.dump(key);
|
||||||
|
return client.getBinaryBulkReply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String restore(final byte[] key, final int ttl, final byte[] serializedValue) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.restore(key, ttl, serializedValue);
|
||||||
|
return client.getStatusCodeReply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -732,4 +732,13 @@ public class Client extends BinaryClient implements Commands {
|
|||||||
sentinel(SafeEncoder.encode(cmd), SafeEncoder.encode(arg1),
|
sentinel(SafeEncoder.encode(cmd), SafeEncoder.encode(arg1),
|
||||||
toByteArray(arg2));
|
toByteArray(arg2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void dump(final String key) {
|
||||||
|
dump(SafeEncoder.encode(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void restore(final String key, final int ttl, final byte[] serializedValue) {
|
||||||
|
restore(SafeEncoder.encode(key), ttl, serializedValue);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,8 +100,8 @@ public class Jedis extends BinaryJedis implements JedisCommands, MultiKeyCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Long del(String key) {
|
public Long del(String key) {
|
||||||
client.del(key);
|
client.del(key);
|
||||||
return client.getIntegerReply();
|
return client.getIntegerReply();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3002,4 +3002,15 @@ public class Jedis extends BinaryJedis implements JedisCommands, MultiKeyCommand
|
|||||||
BuilderFactory.STRING.build(reply.get(1)));
|
BuilderFactory.STRING.build(reply.get(1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public byte[] dump(final String key) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.dump(key);
|
||||||
|
return client.getBinaryBulkReply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String restore(final String key, final int ttl, final byte[] serializedValue) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.restore(key, ttl, serializedValue);
|
||||||
|
return client.getStatusCodeReply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ public final class Protocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static enum Command {
|
public static enum Command {
|
||||||
PING, SET, GET, QUIT, EXISTS, DEL, TYPE, FLUSHDB, KEYS, RANDOMKEY, RENAME, RENAMENX, RENAMEX, DBSIZE, EXPIRE, EXPIREAT, TTL, SELECT, MOVE, FLUSHALL, GETSET, MGET, SETNX, SETEX, MSET, MSETNX, DECRBY, DECR, INCRBY, INCR, APPEND, SUBSTR, HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS, HDEL, HLEN, HKEYS, HVALS, HGETALL, RPUSH, LPUSH, LLEN, LRANGE, LTRIM, LINDEX, LSET, LREM, LPOP, RPOP, RPOPLPUSH, SADD, SMEMBERS, SREM, SPOP, SMOVE, SCARD, SISMEMBER, SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZRANGE, ZREM, ZINCRBY, ZRANK, ZREVRANK, ZREVRANGE, ZCARD, ZSCORE, MULTI, DISCARD, EXEC, WATCH, UNWATCH, SORT, BLPOP, BRPOP, AUTH, SUBSCRIBE, PUBLISH, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, ZCOUNT, ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZUNIONSTORE, ZINTERSTORE, SAVE, BGSAVE, BGREWRITEAOF, LASTSAVE, SHUTDOWN, INFO, MONITOR, SLAVEOF, CONFIG, STRLEN, SYNC, LPUSHX, PERSIST, RPUSHX, ECHO, LINSERT, DEBUG, BRPOPLPUSH, SETBIT, GETBIT, SETRANGE, GETRANGE, EVAL, EVALSHA, SCRIPT, SLOWLOG, OBJECT, BITCOUNT, BITOP, SENTINEL;
|
PING, SET, GET, QUIT, EXISTS, DEL, DUMP, RESTORE, TYPE, FLUSHDB, KEYS, RANDOMKEY, RENAME, RENAMENX, RENAMEX, DBSIZE, EXPIRE, EXPIREAT, TTL, SELECT, MOVE, FLUSHALL, GETSET, MGET, SETNX, SETEX, MSET, MSETNX, DECRBY, DECR, INCRBY, INCR, APPEND, SUBSTR, HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS, HDEL, HLEN, HKEYS, HVALS, HGETALL, RPUSH, LPUSH, LLEN, LRANGE, LTRIM, LINDEX, LSET, LREM, LPOP, RPOP, RPOPLPUSH, SADD, SMEMBERS, SREM, SPOP, SMOVE, SCARD, SISMEMBER, SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZRANGE, ZREM, ZINCRBY, ZRANK, ZREVRANK, ZREVRANGE, ZCARD, ZSCORE, MULTI, DISCARD, EXEC, WATCH, UNWATCH, SORT, BLPOP, BRPOP, AUTH, SUBSCRIBE, PUBLISH, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, ZCOUNT, ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZUNIONSTORE, ZINTERSTORE, SAVE, BGSAVE, BGREWRITEAOF, LASTSAVE, SHUTDOWN, INFO, MONITOR, SLAVEOF, CONFIG, STRLEN, SYNC, LPUSHX, PERSIST, RPUSHX, ECHO, LINSERT, DEBUG, BRPOPLPUSH, SETBIT, GETBIT, SETRANGE, GETRANGE, EVAL, EVALSHA, SCRIPT, SLOWLOG, OBJECT, BITCOUNT, BITOP, SENTINEL;
|
||||||
|
|
||||||
public final byte[] raw;
|
public final byte[] raw;
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package redis.clients.util;
|
package redis.clients.util;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import redis.clients.jedis.Protocol;
|
import redis.clients.jedis.Protocol;
|
||||||
import redis.clients.jedis.exceptions.JedisDataException;
|
import redis.clients.jedis.exceptions.JedisDataException;
|
||||||
|
|||||||
@@ -103,6 +103,14 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
|
|||||||
reply = jedis.del(bfoo1, bfoo2);
|
reply = jedis.del(bfoo1, bfoo2);
|
||||||
assertEquals(0, reply);
|
assertEquals(0, reply);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void dumpAndRestore() {
|
||||||
|
jedis.set("foo1", "bar1");
|
||||||
|
byte[] sv = jedis.dump("foo1");
|
||||||
|
jedis.restore("foo2", 0, sv);
|
||||||
|
assertTrue(jedis.exists("foo2"));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void type() {
|
public void type() {
|
||||||
|
|||||||
@@ -27,7 +27,11 @@ public abstract class JedisCommandTestBase extends JedisTestBase {
|
|||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
jedis = new Jedis(hnp.host, hnp.port, 500);
|
jedis = new Jedis(hnp.host, hnp.port, 500);
|
||||||
jedis.connect();
|
jedis.connect();
|
||||||
|
try {
|
||||||
jedis.auth("foobared");
|
jedis.auth("foobared");
|
||||||
|
} catch (Exception e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
jedis.configSet("timeout", "300");
|
jedis.configSet("timeout", "300");
|
||||||
jedis.flushAll();
|
jedis.flushAll();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user