首页 > 解决方案 > 如何识别 Redis 是否已关闭或是否正在运行?

问题描述

我在我的一个 Spring Boot Java 应用程序中使用 redis 作为缓存。我只从每 30 秒运行一次的调度程序代码对此 redis 实例执行 get 操作,并且写入操作由其他一些应用程序执行。我有一个场景,如果我的 redis 实例由于任何原因出现故障,那么我必须停止执行特定操作。我正在使用 jedis 作为 redis 客户端。假设我的 jedis 池已配置并且连接池已成功创建。

对于几次迭代,我的调度程序运行良好,并且能够在 redis 上执行 get 操作。现在假设 redis 宕机了,所以现在在 30 秒后我的调度程序将再次运行,它将无法执行 get 操作。我只需要确定此时 redis 是否出现故障。有什么方法可以确定 redis 在上述情况下是否出现故障?

标签: javaspring-bootredisjedis

解决方案


我花了一些时间才弄清楚,因为我是 redis 的新手,但我找到了一种简单的方法,即捕获 JedisConnectionException,因为当 redis 服务器关闭时会引发此异常。如果有人可能面临这种情况,请发布答案。


推荐阅读