java 循环连接redis_Java连接Redis

一、导入依赖

redis.clients

jedis

3.1.0

二、测试连接性

public class RedisTest {

private static String HOST = "101.37.37.**";

private static Integer HOSTIP = 6379;

public static void main(String[] args) {

Jedis jedis = new Jedis(HOST,HOSTIP);

System.out.println(jedis);

jedis.close();

}

}

测试成功

74486a143fc918c880c36d7d9a719ee8.png

三、主从复制

public class ReidsMSTest {

public static void main(String[] args) throws InterruptedException {

// 创建连接

Jedis jedis_M = new Jedis("101.37.37.**", 6379);

Jedis jedis_S = new Jedis("101.37.37.**", 6380);

// 遵循“配从不配主”的模式/

jedis_S.slaveof("127.0.0.1", 6379);

// 主机去写

jedis_M.set("k6", "v6");

// 内存中读写太快,防止读在写之前先完成而出现null的情况,这里做一下延迟

Thread.sleep(500);

//从机去读

System.out.println(jedis_S.get("k6"));

//关闭连接

jedis_M.close();

jedis_S.close();

}

}

主从复制测试成功

4faa498f4004eea4d4500c7a24a0c4b2.png

四、集群连接

public class ClusterConnection {

private static String HOST = "101.37.37.**";

public static void main(String[] args) {

Set nodes = new HashSet<>();

nodes.add(new HostAndPort(HOST,7000));

nodes.add(new HostAndPort(HOST,7001));

nodes.add(new HostAndPort(HOST,7002));

nodes.add(new HostAndPort(HOST,7003));

nodes.add(new HostAndPort(HOST,7004));

nodes.add(new HostAndPort(HOST,7005 ));

JedisCluster cluster = new JedisCluster(nodes);

//设置一个key

cluster.set("k1","v1");

//读取k1的值

System.err.println(cluster.get("k1"));

//输出连接对象

System.out.println(cluster);

//关闭连接

cluster.close();

}

}

集群连接成功

0a2f43b9ade7a92749e2f30631673422.png

五、JedisPool

说明:为什么要使用JedisPool

1、 获取Jedis实例需要从JedisPool中获取

2、 用完Jedis实例需要返还给JedisPool

3、 如果Jedis在使用过程中出错,则也需要还给JedisPool

测试案例

public class JedisPool {

public static void main(String[] args) {

GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();

//配置连接池的相关信息

poolConfig.setMaxTotal(100);

poolConfig.setMaxIdle(80);

poolConfig.setMinIdle(20);

poolConfig.setMaxWaitMillis(2000);

JedisPool pool = new JedisPool(poolConfig,"101.37.37.**",6379);

//从连接池得到链接

Jedis jedis = pool.getResource();

User user = new User(1,"小明",18,"湖南");

//转换为json格式存储到Redis

jedis.set("user:1",JSON.toJSONString(user));

String json = jedis.get("user:1");

User User = JSON.parseObject(json, com.tk.User.class);

//转化为对象取出

System.err.println(user.getAddress());

//关闭连接

jedis.close();

}

}

测试结果

4718a26341a0594a7fa71e446d7d5af7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值