java - 如何识别 Redis 是否已关闭或是否正在运行?
问题描述
我在我的一个 Spring Boot Java 应用程序中使用 redis 作为缓存。我只从每 30 秒运行一次的调度程序代码对此 redis 实例执行 get 操作,并且写入操作由其他一些应用程序执行。我有一个场景,如果我的 redis 实例由于任何原因出现故障,那么我必须停止执行特定操作。我正在使用 jedis 作为 redis 客户端。假设我的 jedis 池已配置并且连接池已成功创建。
对于几次迭代,我的调度程序运行良好,并且能够在 redis 上执行 get 操作。现在假设 redis 宕机了,所以现在在 30 秒后我的调度程序将再次运行,它将无法执行 get 操作。我只需要确定此时 redis 是否出现故障。有什么方法可以确定 redis 在上述情况下是否出现故障?
解决方案
我花了一些时间才弄清楚,因为我是 redis 的新手,但我找到了一种简单的方法,即捕获 JedisConnectionException,因为当 redis 服务器关闭时会引发此异常。如果有人可能面临这种情况,请发布答案。
推荐阅读
- javascript - react-webcam(npm 包)视频大小
- sharepoint - SPOnline:在我的 SPfx WebPart 中包含功能/资产部署后,我无法将其放在任何 SitePage 上
- c++ - SFINAE 适用于扣除但因替代而失败
- c - Pointer and printf()
- c++ - 找不到文件“SDL.h”,但程序编译
- go - golang 与 protobuf 与 dep
- c++ - 如何在应用程序中将 com.apple.security.smartcard 权利设置为是
- python - 如何用 sin cos 和 pi 绘制一个圆
- python - 使用 pyinstaller 的自定义图标不起作用
- sql-server - 每天在特定记录集上更新数千次的表的 UPDATE 触发器