Java连接Vmware中的redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:

这篇文章主要为大家介绍了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系统的网卡会重启。这样我们在程序中在进行测试,发现控制台输出了如下信息。

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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
26天前
|
存储 缓存 NoSQL
【Java面试题汇总】Redis篇(2023版)
Redis的数据类型、zset底层实现、持久化策略、分布式锁、缓存穿透、击穿、雪崩的区别、双写一致性、主从同步机制、单线程架构、高可用、缓存淘汰策略、Redis事务是否满足ACID、如何排查Redis中的慢查询
【Java面试题汇总】Redis篇(2023版)
|
13天前
|
JSON NoSQL Java
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
这篇文章介绍了在Java中使用Redis客户端的几种方法,包括Jedis、SpringDataRedis和SpringBoot整合Redis的操作。文章详细解释了Jedis的基本使用步骤,Jedis连接池的创建和使用,以及在SpringBoot项目中如何配置和使用RedisTemplate和StringRedisTemplate。此外,还探讨了RedisTemplate序列化的两种实践方案,包括默认的JDK序列化和自定义的JSON序列化,以及StringRedisTemplate的使用,它要求键和值都必须是String类型。
redis的java客户端的使用(Jedis、SpringDataRedis、SpringBoot整合redis、redisTemplate序列化及stringRedisTemplate序列化)
|
15天前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
23 2
|
2月前
|
NoSQL 网络协议 Redis
【Azure Redis】AKS中使用Lettuce连接Redis Cache出现 timed out 问题的解决思路
【Azure Redis】AKS中使用Lettuce连接Redis Cache出现 timed out 问题的解决思路
【Azure Redis】AKS中使用Lettuce连接Redis Cache出现 timed out 问题的解决思路
|
1月前
|
存储 SQL 分布式计算
Java连接阿里云MaxCompute例
要使用Java连接阿里云MaxCompute数据库,首先需在项目中添加MaxCompute JDBC驱动依赖,推荐通过Maven管理。避免在代码中直接写入AccessKey,应使用环境变量或配置文件安全存储。示例代码展示了如何注册驱动、建立连接及执行SQL查询。建议使用RAM用户提升安全性,并根据需要配置时区和公网访问权限。具体步骤和注意事项请参考阿里云官方文档。
|
2月前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
21 7
|
2月前
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
2月前
|
NoSQL 算法 Java
诡异!Redis Proxy RT上升后连接倾斜
本文细致地描述了关于Redis Proxy RT上升后连接倾斜问题的排查过程和根本原因,最后给出了优化方案。
|
2月前
|
NoSQL 网络协议 Linux
【Azure Redis】Lettuce客户端遇见连接Azure Redis长达15分钟的超时
【Azure Redis】Lettuce客户端遇见连接Azure Redis长达15分钟的超时
|
4月前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程