使用Java连接Redis进行操作
一、pom依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.8.0</version>
</dependency
二、使用池化技术连接Redis(高并发情况下)
package com.redis;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class JedisPoolExercise {
public static void main(String[] args) {
GenericObjectPoolConfig poolconf = new GenericObjectPoolConfig();
poolconf.setMaxTotal(200);
poolconf.setMinIdle(30);
poolconf.setMaxWaitMillis(30000);
poolconf.setBlockWhenExhausted(true);
poolconf.setTestOnBorrow(true);
JedisPool jedispool = new JedisPool(poolconf, "hadoop102", 6379, 60000);
Jedis jedis = jedispool.getResource();
System.out.println(jedis.ping());
jedis.close();
}
}
三、连接有哨兵模式的Redis集群
package com.redis;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisSentinelPool;
import java.util.HashSet;
import java.util.Set;
public class JedisSentinePoll {
public static void main(String[] args) {
GenericObjectPoolConfig poolconf = new JedisPoolConfig();
poolconf.setMaxTotal(200);
poolconf.setMinIdle(30);
poolconf.setMaxWaitMillis(30000);
poolconf.setBlockWhenExhausted(true);
poolconf.setTestOnBorrow(true);
Set<String> sentinels = new HashSet<String>();
sentinels.add("hadoop102:26379");
JedisSentinelPool mymast = new JedisSentinelPool("mymast", sentinels, poolconf);
Jedis jedis = mymast.getResource();
jedis.set("session","jedis");
System.out.println(jedis.get("session"));
jedis.close();
}
}
四、连接Redis集群
package com.redis;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
public class JedisClusterExercise {
public static void main(String[] args) throws IOException {
GenericObjectPoolConfig poolconf = new JedisPoolConfig();
poolconf.setMaxTotal(200);
poolconf.setMinIdle(30);
poolconf.setMaxWaitMillis(30000);
poolconf.setBlockWhenExhausted(true);
poolconf.setTestOnBorrow(true);
Set<HostAndPort> nodes = new HashSet<HostAndPort>();
nodes.add(new HostAndPort("hadoop102",6379));
nodes.add(new HostAndPort("hadoop102",6380));
nodes.add(new HostAndPort("hadoop102",6381));
JedisCluster jedisCluster = new JedisCluster(nodes, 60000, poolconf);
jedisCluster.mset("{a}a1","a1","{a}a2","a2","{a}a3","a3");
System.out.println(jedisCluster.mget("{a}a1", "{a}a2", "{a}a3"));
jedisCluster.close();
}
}