java检测redis是否可用的方法示例

1.最近,做项目,需要检测下redis 是否可以用。

直接上代码:

package com.shopping.test;

import redis.clients.jedis.Jedis;

/**
 * 测试redis缓存
 */
public class RedisTest {

  
  /**
     * 检查redis是否存活
     * @param url 服务器地址
     * @param port 端口
     * @return
   */
   public static Integer getRedisIsOk(String url, int port) {
    int result = 0; try {
      //连接本地Redis服务
      Jedis jedis = new Jedis(url, port);

   String ping = jedis.ping();
   if (ping.equalsIgnoreCase("PONG")) {
    System.out.println("redis缓存有效!" + ping);
    result = 0;
   }
  } catch (Exception e) {
   System.out.println("redis缓存失败!");
   result = 1;
  }
  return result;
 }

 public static void main(String[] args) {

  int res = getRedisIsOk("127.0.0.1", 6379);
  if (res == 0) {
   System.out.println("redis缓存有效!" + res);
  } else {
   System.out.println("redis缓存失败!" + res);
  }
 }
}

因为我本地的缓存是没有密码的,所以上面代码是可以达到目的的。

2.如果缓存有密码则,直接使用下面的方法就可以:

/**
  * 检查redis是否存活
  * @param url 服务器地址
  * @param port 端口
  * @param password redis的密码
  * @return
  */
 public static Integer getRedisIsOk(String url, int port,String password) {
  int result = 0;
  try {
   //连接本地Redis服务
   Jedis jedis = new Jedis(url, port);
   jedis.auth(password);//密码
   String ping = jedis.ping();
   if (ping.equalsIgnoreCase("PONG")) {
    System.out.println("redis缓存有效!" + ping);
    result = 0;
   }
   jedis.close(); // 释放连接资源
  } catch (Exception e) {
   System.out.println("redis缓存失败!");
   result = 1;
  }
  return result;
 }

则可以。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • java客户端Jedis操作Redis Sentinel 连接池的实现方法

    pom.xml配置 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.0.2.RELEASE</version> </dependency> <dependency> <groupId>redis.clients<

  • redis在java中的使用(实例讲解)

    1.首先下载jar包放到你的工程中 2.练习 package com.jianyuan.redisTest; import java.util.Iterator; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisTest { public static void main(String[] args) { //连接本地的Redis服务 Jedis je

  • 详解Java如何实现基于Redis的分布式锁

    前言 单JVM内同步好办, 直接用JDK提供的锁就可以了,但是跨进程同步靠这个肯定是不可能的,这种情况下肯定要借助第三方,我这里实现用Redis,当然还有很多其他的实现方式.其实基于Redis实现的原理还算比较简单的,在看代码之前建议大家先去看看原理,看懂了之后看代码应该就容易理解了. 我这里不实现JDK的java.util.concurrent.locks.Lock接口,而是自定义一个,因为JDK的有个newCondition方法我这里暂时没实现.这个Lock提供了5个lock方法的变体,可以

  • 【Redis缓存机制】详解Java连接Redis_Jedis_事务

    Jedis事务 我们使用JDBC连接Mysql的时候,每次执行sql语句之前,都需要开启事务:在MyBatis中,也需要使用openSession()来获取session事务对象,来进行sql执行.查询等操作.当我们对数据库的操作结束的时候,是事务对象负责关闭数据库连接. 事务对象用于管理.执行各种数据库操作的动作.它能够开启和关闭数据库连接,执行sql语句,回滚错误的操作. 我们的Redis也有事务管理对象,其位于redis.clients.jedis.Transaction下. Jedis事

  • Java利用Redis实现消息队列的示例代码

    本文介绍了Java利用Redis实现消息队列的示例代码,分享给大家,具体如下: 应用场景 为什么要用redis? 二进制存储.java序列化传输.IO连接数高.连接频繁 一.序列化 这里编写了一个java序列化的工具,主要是将对象转化为byte数组,和根据byte数组反序列化成java对象; 主要是用到了ByteArrayOutputStream和ByteArrayInputStream; 注意:每个需要序列化的对象都要实现Serializable接口; 其代码如下: package Utils

  • Java中使用Jedis操作Redis的示例代码

    使用Java操作Redis需要jedis-2.1.0.jar,下载地址:jedis-2.1.0.jar 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:commons-pool-1.5.4.jar package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.j

  • java 连接Redis的小例子

    需要相应API (jedis-2.1.0.jar) 复制代码 代码如下: package com.redis; import redis.clients.jedis.Jedis; public class Client {    public void getCache(String key){        Jedis jedis = new Jedis("127.0.0.1",6379); for (int i = 0; i < 100000; i++){          

  • Java连接Vmware中的redis

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

  • redis中使用java脚本实现分布式锁

    redis被大量用在分布式的环境中,自然而然分布式环境下的锁如何解决,立马成为一个问题.例如我们当前的手游项目,服务器端是按业务模块划分服务器的,有应用服,战斗服等,但是这两个vm都有可能同时改变玩家的属性,这如果在同一个vm下面,就很容易加锁,但如果在分布式环境下就没那么容易了,当然利用redis现有的功能也有解决办法,比如redis的脚本. redis在2.6以后的版本中增加了Lua脚本的功能,可以通过eval命令,直接在RedisServer环境中执行Lua脚本,并且可以在Lua脚本中调用

  • java遍历读取整个redis数据库实例

    redis提供了灵活的数据查询方式,最牛的就是key的搜索支持正则表达式. jedis.keys("*");表示搜索所有keyjedis.keys("abc*")表示搜索开头为abc的key数据 遍历了key就能遍历到value. 其实就是一个set 复制代码 代码如下: RedisDO rd = new RedisDO();  rd.open();  Set s = rd.jedis.keys("*");  Iterator it = s.it

随机推荐