之前连接失败,虚拟机防火墙6379端口经过检查已经打开了,还是没有连接成功。
反复测试后发现原因:端口映射原因:在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口。
1、docker启动redis的步骤:
su root
systemctl start docker
docker run -d -p 6379:6379 redis 6379端口对应主机的6379端口
docker ps 查询到6379进程的id 号
docker exec -it (id号) redis-cli
2、获取虚拟机的ip地址
ip addr
其中的ens33下的inet后为ip地址
3、本地测试连接
导入jedis依赖
测试连接以及一些常见的指令…
public class test {
public static void main(String[] args) {
Jedis jedis=new Jedis("49.xxx.xxx.xx",6379); //打码了
System.out.println(jedis.ping()); //输出pong则为连接成功
jedis.set("name","pht");
jedis.set("age","22");
System.out.println(jedis.get("name"));
System.out.println(jedis.keys("*"));
JSONObject js=new JSONObject();
js.put("fdfd","465");
js.put("rere","gegt");
String res=js.toJSONString();
//事务
Transaction transaction=jedis.multi();
transaction.set("1",res);
transaction.set("2",res);
transaction.exec();
jedis.close();
System.out.println(jedis.get("1"));
System.out.println(jedis.get("2"));
jedis.flushDB();
System.out.println(jedis.keys("*"));
}
}