Java连接Vmware中的redis

这篇文章主要为大家介绍了Java连接Vmware中的redis

本文使用的vmware 11,安装的系统是centos6.7,redis版本是3..0.2 。如何安装请参考上一篇文章《Linux下安装Redis并设置相关服务》
         安装完redis以后,我们是不是要迫不及待的想使用一下呢。那么我们要在程序中对redis进行操作的话,操作redis的插件有好几种,这里使用的jedis。
         我们新建一个java程序以后,添加上Jedis.jar以后,并添加junit 的类库。创建一个java类进行测试。项目架构如图所示。
 Java测试类的代码如下所示。

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

package com.tgb.redis;

  

import org.junit.Before;

import org.junit.Test;

import redis.clients.jedis.Jedis;

  

public class RedisClient {

  

  private Jedis jedis; 

  @Before

  public void setup() {

  

    //连接redis服务器,虚拟机的ip地址192.168.20.128:6379

  

    jedis = new Jedis("192.168.20.128",5000);

  

    //权限认证

  

    // jedis.auth("root"); 

  

  }

  

  /**

  

   * redis存储字符串

  

   */

  

  @Test

  

  public void testString() {

  

    //-----添加数据---------- 

  

    jedis.set("name","xinxin");//向key-->name中放入了value-->xinxin 

    System.out.println(jedis.get("name"));//执行结果:xinxin 

  

      

    jedis.append("name", " is my lover"); //拼接

    System.out.println(jedis.get("name")); 

     

    jedis.del("name"); //删除某个键

    System.out.println(jedis.get("name"));

    //设置多个键值对

    jedis.mset("name","liuling","age","23","qq","476777XXX");

    jedis.incr("age"); //进行加1操作

    System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-"+ jedis.get("qq"));    

  }

}

 配置完以后,我们测试。发现报如下错误。可以很容易的断定出是因为网络没有连通,所以会出现这种链接超时的现象。

<iframe style="margin: 0px; padding: 0px; border: currentcolor; width: 100%; height: 112px; vertical-align: baseline; display: block; position: static;" frameborder="0" scrolling="no"></iframe>

 

 按照常理,我们会检查一下网络是否同,所以我们会ping一下虚拟机的地址,我们发现可以联通。那是不是防火墙的问题呢,关闭防火墙以后,发现还是不可以。然后我们问百度,没有找到类似的答案。所以去群里问问大牛吗,有一个说是不是需要配置一个端口转发。

对,就是需要配置这个东西,因为虚拟机的网络配置的nat方式,所以他的地址是跟本机在一个网段内的,但是他只能与本机联通,局域网内的其他机器是不可以ping通的。那么我们如何配置端口转发呢! 我们要在虚拟机的编辑下选择虚拟网络编辑器。

    

<iframe style="margin: 0px; padding: 0px; border: currentcolor; width: 100%; height: 52px; vertical-align: baseline; display: block; position: static;" frameborder="0" scrolling="no"></iframe>

 

我们要保证我们linux系统采用的nat模式,依次检查下图所示的红框中的内容。一定要保持一致。

   

<iframe style="margin: 0px; padding: 0px; border: currentcolor; width: 100%; height: 52px; vertical-align: baseline; display: block; position: static;" frameborder="0" scrolling="no"></iframe>

 

上边的配置检查完毕后,我们需要进行NAT设置,在这里配置一个端口转发。添加一个主机使用的端口,在添加虚拟机中redis服务的ip地址,和端口号。

   

<iframe style="margin: 0px; padding: 0px; border: currentcolor; width: 100%; height: 52px; vertical-align: baseline; display: block; position: static;" frameborder="0" scrolling="no"></iframe>

 

 配置完毕以后,点击应用,linux系统的网卡会重启。这样我们在程序中在进行测试,发现控制台输出了如下信息。

这说明我们的程序可以访问我们的虚拟机中的服务了,是不是很简单,希望对大家的学习有所启发。

时间: 2024-08-07 20:07:23

Java连接Vmware中的redis的相关文章

java连接mysql中遇到的问题

问题描述 本人之前的mysql卸载重新装了一个5.0版本的,在数据库中已经写入了东西,可以在mysql读出,但是使用java连接的时候总是说连接不上.自己的用户名.密码.url都没有问题,请大家指导一下.Exceptioninthread"main"com.mysql.jdbc.CommunicationsException:Communicationslinkfailureduetounderlyingexception:**BEGINNESTEDEXCEPTION**java.ne

关于Java连接SQLServer中Login failed for user &amp;#039;sa&amp;#039;.

问题描述 搞了一天了,还是没有解决由于需要用到SQLServer,数据库登录方式是Sqlserver和Windows混合登录,在Microsoft SQL Server Management Studio中可以用sa账户登录,但是在Java代码中登录不了,这是为什么?求大牛指点:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBtest {pub

JNDI简介,jndi在tomcat中的配置,jdbc api简介,java连接数据库服务

连接数据库 JNDI(Java 命名和目录接口)   JNDI(Java 命名和目录接口) 分布式计算环境通常使用命名和目录服务来获取共享的组件和资源.命名和目录服务将名称与位置.服务.信息和资源关联起来.  命名服务提供名称-对象的映射.目录服务提供有关对象的信息,并提供定位这些对象所需的搜索工具.有许多命名和目录服务实现,并且到它们的接口是不同的. Java 命名和目录接口或 JNDI 提供了一个用于访问不同的命名和目录服务的公共接口.请参阅 URL java.sun.com/product

java 断开从连接池中获取的连接,规范的操作是怎样的

问题描述 java断开从连接池中获取的连接,规范的操作是怎样的,ResultSet,PreparedStatement,Connection是否需要依次关闭,若需要,应该怎么做才是高效率,规范,而且不会发生内存泄露.涉及到很多try和catch,不知怎么处理. 解决方案 解决方案二:ResultSet,PreparedStatement,Connection是否需要依次关闭需要应该怎么做才是高效率写一个函数用来关闭,如放在的帮助类JdbcUtil里,如publicstaticvoidreleas

Java web开发中要是用jdbc连接access数据库,连接url怎么写相对位置

问题描述 Java web开发中要是用jdbc连接access数据库,连接url怎么写相对位置 Java web开发中要是用jdbc连接access数据库,连接url怎么写相对位置,注意这里是jdbc方法连接 而不是jdbc-odbc 例如access数据库就在项目中(project文件夹下) 代码为: try { // 加载jdbc - odbc驱动 Class.forName("com.hxtt.sql.access.AccessDriver"); // 根据url创建连接实例 a

Java Web项目中使用Socket通信多线程、长连接的方法_java

很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听.我们的应用场景是在java项目中,需要外接如一个硬件设备,通过tcp通信,获取设备传上来的数据,并对数据做回应. 先看一下web的监听代码: import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class

mysql 编码 汉字识别-用Java语言连接wampserver中mysql数据库时,遇到问题,请看内容。

问题描述 用Java语言连接wampserver中mysql数据库时,遇到问题,请看内容. 用Java语言连接wampserver集成中的mysql,当用java代码往mysql数据库插入数据后,代码中的中文字符在数据库中变成了"?",但是使用mysql客户端.http:// localhost/phpmyadmin/ 页面 插入中文时,就没有这种情况发生,请指点. 解决方案 参考 mysql/java charset issue 在连接字符串指定字符集,比如jdbc:mysql://

Java web项目中关于如何使用redis的一些问题

问题描述 这两天应项目需求,了解了一下redis的一些相关内容.有个疑问想请教一下.因为看了好多例子,都是先在本地将redis服务启动后,然后在项目中连接使用redis.那么问题来了,就是我要在项目中使用redis,是不是一定要先在本地启动redis服务,然后才能在项目中使用呢?能不能像tomcat一样在eclipse中配置相关文件,然后在eclipse中启动呢?如果可以,应该怎样配置呢?谢谢. 解决方案 eclipse集成了tomcat支持,其实主要是为了 能够快捷地将当前编写的项目发布到to

Java Web项目中连接Access数据库的配置方法_JSP编程

老师决定期末考试采用access数据库实现增删改查,我认为现在的我已经没有问题了,但是以前都是在JSP页面中连接access数据库,无论是以下的那种方式都进行了连接的练习,但是现在我想让我的项目中的访问access数据库的java代码,封装到DAO中,在DAO中连接数据库,没有和Servlet API有任何的关系.对于大多数人都会优先选择使用ODBC数据源的方式或者是使用绝对路径的方式连接access数据库,但是我个人认为,这样做不太好,如果采用这样的方式,项目做好后,放到他人的服务器上是无法运