Red de conocimiento informático - Aprendizaje de programación - ¿Cuál es mejor, jedis o strpin-data-redis?

¿Cuál es mejor, jedis o strpin-data-redis?

No había examinado detenidamente el código de ShardedJedis antes y recientemente tuve problemas con la migración de datos después de ampliar un clúster fragmentado.

Mientras miraba el código fuente de ShardedJedis hoy, descubrí que ShardedJedis no usa la IP y el puerto del nodo para el hash, sino el orden o el nombre de la instancia, lo cual es increíble.

inicializar vacío privado(List fragmentos) {

nodos = new TreeMap();

for (int i = 0 ; i ! = fragmentos.size(); ++i) {

final S shardInfo = fragmentos.get(i);

if (shardInfo.getName() == nulo )

for (int n = 0; n < 160 * shardInfo.getWeight(); n++) {

nodes.put(this.algo.hash("SHARD-" + i + "-NODE-" + n),

shardInfo);

}

else

para (int n = 0 ; n < 160 * shardInfo. lt; 160 * shardInfo.getWeight(); n++) {

nodos.put(

this.algo.hash(shardInfo.getName() + "*"

+ shardInfo.getWeight() + n), shardInfo);

}

resources.put(shardInfo, shardInfo.createResource()) ;

}

La configuración también es muy sencilla:

<.property name="testOnReturn" value="true"/>

< nombre de propiedad="testOnReturn" valor="true"/>

& lt;nombre de propiedad="testWhileIdle" valor="true"/>

< constructor-arg tipo="int" valor="7000"/>

< bean class="redis.clients.jedis.Jedis.JedisShardInfo"/>

Inicialmente, puede configurar suficientes instancias para que cuando los datos se expandan

Y luego simplemente cambie la IP y el puerto en el archivo de configuración.

Además, Jedis también proporciona encapsulación del grupo centinela de Jedis, de modo que cuando se produce un cambio maestro-esclavo, el No es necesario reconfigurar ni implementar el servidor web.

@Autowired grupo privado JedisSentinelPool;

public void mymethod() {

Jedis jedis = null;

prueba {

jedis = pool.

} catch (JedisException je) {

throw je;

} finalmente {

if (jedis ! = null) pool.returnResource(jedis);

}

}

Configuración de Spring Bean:

<.set>

hostofsentinel:26379

<.