import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
@Test
public void testJedis(){
//连接到Linux的redis数据库
Jedis jedis = new Jedis("192.168.1.103",6379);
//选择要操作的数据库
jedis.select(1);//操作第二个数据库
//存数据
jedis.set("welcome","欢迎来到世界杯赌球的地下XXX");
//存hash数据类型
jedis.hset("user:1001","username","exp");
jedis.hset("user:1001","age","30");
jedis.hset("user:1001","gender","male");
//存数组list
jedis.lpush("FootBallteamNames","小日本","韩国","英国");
//存无序set
jedis.sadd("NBA","勇士","骑士");
//有序set
jedis.zadd("english:scoreboard",90,"zhangsan");//设置sortedset,可排序
jedis.zadd("english:scoreboard",91,"lisi");//设置sortedset,可排序
jedis.zadd("english:scoreboard",93,"wangwu");//设置sortedset,可排序
//取数据
System.out.println( jedis.get("welcome"));
//关闭连接
jedis.close();
}
@Test
public void testJedisPool() {
//创建一连接池对象
JedisPool jedisPool = new JedisPool("192.168.1.103", 6379);
//从连接池中获得连接
Jedis jedis = jedisPool.getResource();
jedis.select(1);//选择第2个数据库
String result = jedis.get("welcome");
System.out.println(result);
//关闭连接
jedis.close();
//关闭连接池
jedisPool.close();
}
/**
* 以集群的方式操作redis
*/
@Test
public void testJedisCluster() {
//创建一连接,JedisCluster对象,在系统中是单例存在
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("192.168.10.103", 7001));
nodes.add(new HostAndPort("192.168.10.103", 7002));
nodes.add(new HostAndPort("192.168.10.103", 7003));
nodes.add(new HostAndPort("192.168.10.103", 7004));
nodes.add(new HostAndPort("192.168.10.103", 7005));
nodes.add(new HostAndPort("192.168.10.103", 7006));
JedisCluster cluster = new JedisCluster(nodes);
//执行JedisCluster对象中的方法,方法和redis一一对应。
cluster.set("exp", "告白气球");
String result = cluster.get("exp");
System.out.println(result);
//程序结束时需要关闭JedisCluster对象
cluster.close();
}
}