Python-如何检查Redis服务器是否可用

2024-03-14

我正在开发一个用于访问 Redis 服务器的 Python 服务(类)。我想知道如何检查Redis服务器是否正在运行。而且如果不知何故我无法连接到它。

这是我的代码的一部分

import redis
rs = redis.Redis("localhost")
print rs

它打印以下内容

<redis.client.Redis object at 0x120ba50>

即使我的 Redis 服务器没有运行。

因为我发现我的 Python 代码仅当我执行以下操作时才连接到服务器set() or get()与我的 redis 实例。

所以我不希望其他服务使用我的类得到异常说

redis.exceptions.ConnectionError: Error 111 connecting localhost:6379. Connection refused.

我想返回正确的消息/错误代码。我怎样才能做到这一点??


如果您想在启动时测试一次 redis 连接,请使用ping()命令。

from redis import Redis

redis_host = '127.0.0.1'
r = Redis(redis_host, socket_connect_timeout=1) # short timeout for the test

r.ping() 

print('connected to redis "{}"'.format(redis_host)) 

命令ping()检查连接,如果无效将引发异常。

  • 注意 - 执行测试后连接可能仍会失败,因此这不会掩盖以后的超时异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-如何检查Redis服务器是否可用 的相关文章

随机推荐

  • phpseclib 给了我一个奇怪的错误

    我试图使用这个 但它只是给了我这个错误 我不知道如何解决这个问题 警告 include once Math BigInteger php 无法打开流 否 这样的文件或目录 home www sfs web statistics public
  • linq .Value 可空对象必须有一个值。如何跳过?

    我有一些 linq 代码 有时null cbo3 ItemsSource empty Union from a in from b in CompleteData select b TourOpID Distinct select new
  • 在Swift中实现UILabel动画效果的最佳方法?

    我对 Swift 动画还很陌生 并且知道如何去做 但想看看其他人会如何做 我正在尝试创建这样的效果 当用户进入搜索栏时 搜索栏的占位符文本会缩小并向上移动到搜索字段上方 并更改为不同的颜色 像这样 http magicus xyz http
  • [String] 的 Swift 扩展?

    我正在尝试编写一个扩展方法 String 看来你不能延长 String 直接 类型 元素 限制为非协议类型 字符串 尽管我遇到了这个技巧 protocol StringType extension String StringType 但我仍
  • 在世界地图上方可视化网络[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在 NodeXL 中有一个网络数据集 我试图在世界地图上可视化它 我的数据集有 具有国家属性的节点 链接 节点之间的未加权连接 我尝
  • 如何在 MATLAB 中迭代 n 维矩阵中的每个元素?

    我有个问题 我需要在 MATLAB 中迭代 n 维矩阵中的每个元素 问题是 我不知道如何对任意数量的维度执行此操作 我知道我可以说 for i 1 size m 1 for j 1 size m 2 for k 1 size m 3 等等
  • 使用 Angular 4.4.6 的开发模式下没有 NgForm 错误提供程序

    EDIT 我已经发现是什么导致了这个问题 我现在正在寻找一个解决方案来满足它 NOTE 此问题发生在开发模式下 即不是生产模式 并且不使用 aot 我正在使用这里的 更新 解决方案 https stackoverflow com a 463
  • 带css的透明滚动条

    现在使用此代码 以及此代码的许多变体 但滚动轨道变为深灰色 例如 222222 或接近此颜色 找到很多例子 但它们都给出相同的结果 Opera Chrome 和 Firefox 均显示此错误 怎么修 style 3 webkit scrol
  • HSTS 安全标头中的 max-age 属性是什么?

    HSTS 中 max age 的目的是什么 例如 Strict Transport Security max age 100 如果该值超过 100 会发生什么 有没有设置 max age 的最佳实践 thanks 有语义上不同的方式来发送
  • MPI:广播 long long int

    这个程序估计Pi通过将随机 飞镖 采样点 扔到一个圆或半径 1内切于长度 2的方板内的圆上 利用关系 Area of circle Area of Square Pi 4 我们可以使用表示为的相同关系来估计 Pi Darts Inside
  • 如何动态导入模块并将其名称作为字符串?

    我正在编写一个 Python 应用程序 它将命令作为参数 例如 python myapp py command1 我希望应用程序是可扩展的 也就是说 能够添加实现新命令的新模块 而无需更改主应用程序源 这棵树看起来像 myapp init
  • 如何收集多个 openFile:(NSString *) 事件,然后对它们执行某些操作?

    我正在开发 Cocoa Objective C 实用程序应用程序 并且想要处理多个 瞬时 文件打开 为了处理文件打开部分 我在我的AppDelegate mm file BOOL application NSApplication app
  • Joomla 的自定义模板支持

    Joomla 是相当不错的 CMS 但是有什么方法可以创建 joomla 支持的自定义模板吗 如果我理解您的问题 您想要转换甚至不是 Joomla 模板的现有模板 如果是这种情况 我发现很难做到 当然这取决于模板的来源 我最终采用了 Joo
  • 移动所有 git 分支中的文件夹

    我们有一个有 20 个分支的中央存储库 它们都使用如下布局 gitignore file1 txt file2 txt 现在应该改为 gitignore ProjectFolder file1 txt ProjectFolder file2
  • Carbon 获取指定开始年份和当前年份之间的年份

    如果可能的话 是否可以使用 Carbon 来获取数组中起始年份和当前年份之间的年份 所以今年的数组将是 2014 2015 2016 明年 2017 年将包括 2014 2015 2016 2017 Thanks 解决方案 years ra
  • lapply后从列表返回到data.frame

    我有一个关于 lapply 的非常简单的问题 我正在从 STATA 过渡到 R 我认为有一些非常基本的概念 我没有在 R 中循环 但是我整个下午都在阅读它 但无法找到一个合理的方法来完成这个非常简单的事情 我有三个数据框 df1 df2 和
  • Google Drive API“监视”文件夹中,如何知道添加了哪些文件

    我正在运行一个测试端点 当我将文件放入监视文件夹时 我收到一个带有标头的请求X Goog Resource State update 但我似乎没有获得添加文件的 ID I get X Goog Resource Id我原以为这可能是新文件
  • 如何使 README_FOR_APP 的内容出现在 doc/app/index.html 中

    我想要的内容doc README FOR APP出现在doc app index html 当我做rake doc app 目前 内容为 这是 Rails 应用程序文档的 API 文档 To see README FOR APP 我必须点击
  • 中没有足够的空间。如何添加多行

    我想在选项文本下添加描述该选项的行 默认情况下 mat select 限制字符数并在行末尾添加 我想要有需要的多行选项 斯塔克闪电战演示 https stackblitz com edit angular wj9svw https stac
  • Python-如何检查Redis服务器是否可用

    我正在开发一个用于访问 Redis 服务器的 Python 服务 类 我想知道如何检查Redis服务器是否正在运行 而且如果不知何故我无法连接到它 这是我的代码的一部分 import redis rs redis Redis localho