一致性哈希算法介绍:一致性哈希算法
导入Jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
代码如下
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
//连接池配置
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(10);
poolConfig.setMaxIdle(1);
poolConfig.setMaxWaitMillis(200);
poolConfig.setTestOnBorrow(false);
poolConfig.setTestOnReturn(false);
//分片信息
JedisShardInfo shardInfo1 = new JedisShardInfo("192.168.137.128", 6379, 500);
JedisShardInfo shardInfo2 = new JedisShardInfo("192.168.137.129", 6379, 500);
//根据分片信息创建连接池
List<JedisShardInfo> infoList = Arrays.asList(shardInfo1, shardInfo2);
ShardedJedisPool jedisPool = new ShardedJedisPool(poolConfig, infoList);
ShardedJedis jedis = null;
try {
jedis = jedisPool.getResource();
jedis.set("test", "this is a test");
} finally {
if(jedis!=null)
jedis.close();
}
try {
jedis = jedisPool.getResource();
String value = jedis.get("test");
System.out.println(value);
} finally {
if(jedis!=null)
jedis.close();
}
}
}
实际效果如下:
D:\Redis-x64-2.8.2402>redis-cli.exe -h 192.168.137.128 -p 6379
192.168.137.128:6379> get test
(nil)
192.168.137.128:6379> exit
D:\Redis-x64-2.8.2402>red