Apacheのジオードを使用して非常に大きな値を複製しようとしています。私が基本的にやっているのは、赤目のsetbit関数を使うことです。 setbit関数のオフセットを増やし続けると、ジオードサーバーがクラッシュします。私はクライアントとしてgeodeのredisアダプタを使用しています。Apacheのジオメトリー複製で大きな値を複製できません
import redis.clients.jedis.*;
import redis.clients.jedis.exceptions.JedisException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.exceptions.JedisException;
public class Test {
//address of your redis server
private static final String redisHost = "10.0.0.10";
private static final Integer redisPort = 11211;
//remember to increase sensder queue size
public void addSets() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(50);
poolConfig.setMaxTotal(1000);
poolConfig.setTestOnBorrow(true);
poolConfig.setTestOnReturn(true);
JedisPool pool = new JedisPool(poolConfig,redisHost, redisPort,10000000);
Jedis jedis= null;
String key = "shivd";
long [] bits = {1464236631,12373513,1488983657,1329373495,147236649,1623846793,1194510359,282099785,1758709929,1059647223,416962921,1893573065,924784087,551826057,2028436201};
//get a jedis connection jedis connection pool
try {
jedis = pool.getResource();
Pipeline pipeline = jedis.pipelined();
for (long b : bits) {
pipeline.setbit(key, b, true);
}
pipeline.multi();
pipeline.exec();
} finally {
if (jedis != null) {
jedis.close();
}
}
pool.destroy();
}
public static void main(String[] args){
Test main = new Test();
main.addSets();
//main.cal();
//main.addHash();
}
}
オフセットをある程度制限すると、それが機能します。ここ はRedisのアダプタを使用してキャッシュサーバの両方のログです:
dc1.log(10.0.0.10) - 私は(複製が起こる)キー
dc2.logを挿入しています