开发者社区> 问答> 正文

iredis 一款python语言撰写支持自动补全、语法高亮、命令提示等的 Redis 命令行客户端

演示 IRedis是具有自动完成功能和语法突出显示功能的redis终端客户端。 IRedis使您可以流畅地键入Redis命令,并以用户友好的格式显示结果。 IRedis是redis-cli的替代方案。在大多数情况下,IRedis的行为与redis-cli完全相同。此外,在生产服务器上使用IRedis比使用redis-cli更安全:IRedis可以防止意外运行危险的命令,例如KEYS *(请参阅Redis文档/缓慢命令生成的延迟)。

特征

  • 高级代码完成。如果运行命令KEYS然后运行DEL,IRedis将根据KEYS结果自动完成命令。
  • 命令验证。键入时,IRedis将验证命令并突出显示错误。例如,尝试CLUSTER MEET IP PORT,IRedis将为您验证IP和PORT。
  • 突出显示命令,完全基于redis语法。IRedis Shell中的任何有效命令都是有效的redis命令。
  • 人性化的结果显示。
  • 管道功能,您可以使用自己喜欢的shell工具来解析redis的响应,例如get json | jq .
  • 支持寻呼机以实现长输出。
  • 支持通过URL连接iredis --url redis://example.com:6379/1
  • 存储服务器配置:(有关更多信息,iredis -d prod-redis请参阅dsn)。
  • peek命令以检查键的类型,然后根据类型自动调用 get/ lrange/ sscan等。您无需调用该 type命令,然后键入另一个命令即可获取该值。peek还将显示密钥的长度和内存使用情况。
  • Ctrl+ C取消当前键入的命令,这不会退出IRedis,就像bash行为一样。使用Ctrl+ D 发送EOF退出IRedis。
  • Ctrl+ R打开反向i搜索以搜索命令历史记录。
  • 自动建议。
  • 支持--encode=utf-8,以解码Redis的字节响应。
  • 底部的命令提示包括命令语法,支持的Redis版本和时间复杂度。
  • 带有内置HELP命令的官方文档,请尝试HELP SET
  • IRedis使用纯Python编写,但是通过PyOxidizer打包为一个二进制 文件,您可以使用cURL下载并运行,即使没有Python解释器,它也可以工作。
  • 隐藏AUTH命令密码。
  • 说“再见!” 退出时给您!
  • 有关完整功能,请访问:iredis.io

安装

通过pip安装:

pip install iredis

推荐使用pipx

pipx install iredis

或者,您可以使用cURL(或wget)下载可执行二进制文件,解压缩,然后运行。当您没有python解释器时(例如未安装Python 的官方Redis docker映像),此功能特别有用 :

wget  https://github.com/laixintao/iredis/releases/latest/download/iredis.tar.gz \
 && tar -xzf iredis.tar.gz \
 && ./iredis

(如果要下载旧版本的IRedis,请检查发布页面。)

用法

安装IRedis后,您将知道如何使用它。请记住,IRedis支持类似的选项,例如redis-cli,例如-hredis-server的主机和 -p端口。

$ iredis --help

使用DSN

IRedis支持将服务器配置存储在配置文件中。这是DSN配置:

[alias_dsn]
dev=redis://localhost:6379/4
staging=redis://username:password@staging-redis.example.com:6379/1

将其放入您的,iredisrc然后通过iredis -d staging或 连接iredis -d dev

组态

IRedis支持配置文件。命令行选项将始终优先于config。从最高优先级到最低优先级的配置分辨率为:

  • 命令行中的选项
  • $PWD/.iredisrc
  • ~/.iredisrc(可以使用更改此路径iredis --iredisrc $YOUR_PATH
  • /etc/iredisrc
  • IRedis软件包中的默认配置。

您可以在此处复制自解释的默认配置:

https://raw.githubusercontent.com/laixintao/iredis/master/iredis/data/iredisrc

然后进行自己的更改。

(如果使用的是旧版本的IRedis,请使用下面的配置文件,并在URL中更改版本):

https://raw.githubusercontent.com/laixintao/iredis/v1.0.4/iredis/data/iredisrc

按键

IRedis支持unix / readline样式的REPL键盘快捷键,这意味着像Ctrl+ 这样的键F可以转发工作。

也:

  • Ctrl+ F(即EOF)退出;您也可以使用该exit 命令。
  • Ctrl+ L清除屏幕;您也可以使用该clear 命令。
  • Ctrl+ X Ctrl+ E打开编辑器以编辑命令,或V在vi模式下。

发展历程

发布策略

IRedis由CircleCI构建和发布。每当将标签推送到 master分支时,都会构建一个新版本并将其上传到pypi.org,这非常方便。

因此,我们会尽可能多地发布版本,以便用户始终可以快速享受新功能和错误修正。任何错误修正或新功能都将至少获得修补程序版本,而重大功能将获得次要版本。

设定环境

IRedis赞成将诗歌作为软件包管理工具。在计算机上设置开发环境:

首先,安装诗歌(您可以在python的virtualenv中实现):

pip install poetry

然后运行(类似于pip install -e .):

poetry install

注意在本地运行测试用例,它可能会刷新您的数据库!!!

开发日志

这是一个命令行工具,因此我们不会将日志写入stdout。

您可以tail -f ~/.iredis.log查看日志,日志非常清晰,您可以查看日志文件中实际发生的情况。

赶上最新的Redis-doc

IRedis使用git子模块来跟踪最新的redis-doc版本。赶上最新消息:

  1. Git引入Redis-doc
  2. 将文档文件复制到/datacp -r redis-doc/commands* iredis/data
  3. 更漂亮的降价prettier --prose-wrap always iredis/data/commands/*.md --write
  4. 检查差异,如果需要,更新IRedis的代码。

相关项目

如果您喜欢iredis,则可能还喜欢dbcli的其他cli工具 :

  • pgcli-具有自动完成和语法突出显示功能的Postgres客户端
  • mycli-具有自动完成功能和语法突出显示功能的MySQL / MariaDB / Percona客户端
  • litecli-具有自动完成和语法突出显示功能的SQLite客户端
  • mssql-cli-具有自动完成和语法突出显示功能的Microsoft SQL Server客户端
  • athenacli-具有自动完成和语法突出显示功能的AWS Athena客户端
  • vcli -VerticaDB客户端
  • iredis-具有自动完成功能和语法突出显示功能的Redis客户端

IRedis是建立在顶部 prompt_toolkit,一个Python库(由乔纳森Slenders)用于构建丰富的命令行程序。

展开
收起
huc_逆天 2020-05-21 17:19:52 4679 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    欢迎大家分享哦~

    2020-05-22 09:55:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载