Add support for HLL
This commit is contained in:
50
src/main/java/RedisTimeout.java
Normal file
50
src/main/java/RedisTimeout.java
Normal file
@@ -0,0 +1,50 @@
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
import redis.clients.jedis.JedisPoolConfig;
|
||||
|
||||
public class RedisTimeout {
|
||||
|
||||
public static void main(String[] args) {
|
||||
// set k,v pairs where k == v
|
||||
Jedis edis = new Jedis("127.0.0.1", 6379, 1000);
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
edis.set("" + i, "" + i);
|
||||
}
|
||||
edis.close();
|
||||
JedisPoolConfig conf = new JedisPoolConfig();
|
||||
conf.setMaxTotal(1);
|
||||
final JedisPool pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1", 6379, 1);
|
||||
for (int t = 0; t < 100; t++) {
|
||||
new Thread() {
|
||||
public void run() {
|
||||
|
||||
final Jedis edis = pool.getResource();
|
||||
// timeout
|
||||
// = 1
|
||||
// here.
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
try {
|
||||
String key = "" + i;
|
||||
String value = edis.get(key);
|
||||
if (!key.equals(value)) {
|
||||
System.err.println(Thread.currentThread()
|
||||
.getName()
|
||||
+ "\t\t\t"
|
||||
+ key
|
||||
+ "<>"
|
||||
+ value);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.err.println(">>>>>>>>>>" + e.toString());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("Done");
|
||||
pool.returnResource(edis);
|
||||
};
|
||||
}.start();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -320,7 +320,7 @@ public class BinaryClient extends Connection {
|
||||
public void sadd(final byte[] key, final byte[]... members) {
|
||||
sendCommand(SADD, joinParameters(key, members));
|
||||
}
|
||||
|
||||
|
||||
public void smembers(final byte[] key) {
|
||||
sendCommand(SMEMBERS, key);
|
||||
}
|
||||
@@ -1253,4 +1253,15 @@ public class BinaryClient extends Connection {
|
||||
public void asking() {
|
||||
sendCommand(Command.ASKING);
|
||||
}
|
||||
|
||||
public void pfadd(final byte[] key, final byte[]... elements) {
|
||||
sendCommand(PFADD, joinParameters(key, elements));
|
||||
}
|
||||
|
||||
public void pfcount(final byte[] key) {
|
||||
sendCommand(PFCOUNT, key);
|
||||
}
|
||||
public void pfmerge(final byte[] deskey, final byte[]... sourcekeys) {
|
||||
sendCommand(PFMERGE, joinParameters(deskey, sourcekeys));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -951,4 +951,16 @@ public class Client extends BinaryClient implements Commands {
|
||||
cluster(Protocol.CLUSTER_SETSLOT, String.valueOf(slot),
|
||||
Protocol.CLUSTER_SETSLOT_IMPORTING, nodeId);
|
||||
}
|
||||
|
||||
public void pfadd(String key, final String... elements) {
|
||||
pfadd(SafeEncoder.encode(key), SafeEncoder.encodeMany(elements));
|
||||
}
|
||||
|
||||
public void pfcount(final String key) {
|
||||
pfcount(SafeEncoder.encode(key));
|
||||
}
|
||||
|
||||
public void pfmerge(final String destkey, final String... sourcekeys) {
|
||||
pfmerge(SafeEncoder.encode(destkey), SafeEncoder.encodeMany(sourcekeys));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3412,4 +3412,22 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
return BuilderFactory.STRING_MAP
|
||||
.build(client.getBinaryMultiBulkReply());
|
||||
}
|
||||
|
||||
public Long pfadd(final String key, String... elements) {
|
||||
checkIsInMulti();
|
||||
client.pfadd(key, elements);
|
||||
return client.getIntegerReply();
|
||||
}
|
||||
|
||||
public long pfcount(final String key) {
|
||||
checkIsInMulti();
|
||||
client.pfcount(key);
|
||||
return client.getIntegerReply();
|
||||
}
|
||||
|
||||
public String pfmerge(final String destkey, final String... sourcekeys) {
|
||||
checkIsInMulti();
|
||||
client.pfmerge(destkey, sourcekeys);
|
||||
return client.getStatusCodeReply();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ public final class Protocol {
|
||||
}
|
||||
|
||||
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, PUBSUB, 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, DUMP, RESTORE, PEXPIRE, PEXPIREAT, PTTL, INCRBYFLOAT, PSETEX, CLIENT, TIME, MIGRATE, HINCRBYFLOAT, SCAN, HSCAN, SSCAN, ZSCAN, WAIT, CLUSTER, ASKING;
|
||||
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, PUBSUB, 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, DUMP, RESTORE, PEXPIRE, PEXPIREAT, PTTL, INCRBYFLOAT, PSETEX, CLIENT, TIME, MIGRATE, HINCRBYFLOAT, SCAN, HSCAN, SSCAN, ZSCAN, WAIT, CLUSTER, ASKING, PFADD, PFCOUNT, PFMERGE;
|
||||
|
||||
public final byte[] raw;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user