V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
scriptB0y
V2EX  ›  分享创造

更方便地处理 Redis 存储的 json/protobuf/binary/csv/yaml 数据

  •  
  •   scriptB0y ·
    laixintao · 2020-01-13 23:01:02 +08:00 · 3246 次点击
    这是一个创建于 1783 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Redis 是 binary safe 的,所以经常在里面用 string 格式存储一些 json 等格式化的数据。但是用 redis-cli GET 出来,在 debug 的时候很不友好。

    所以我写了一个客户端,可以和 shell 连接起来,用 | 将 Redis 的 Response 通过 pipe 用 shell 的其他工具,比如 jq/fx/rg/sort/uniq/cut/sed/awk 等处理。假如你用其他格式的话,也可以在 GET 后面加 shell 命令来处理,非常方便。

    (觉得方便的话请给一个 star,还支持自动补全,语法高亮等其他功能,欢迎提宝贵建议)

    项目地址: https://github.com/laixintao/iredis

    安装方式:

    pip install iredis==0.8.7  # lastest version for now
    

    asciicast

    10 条回复    2020-01-14 10:50:36 +08:00
    miao1007
        1
    miao1007  
       2020-01-13 23:31:59 +08:00 via Android   ❤️ 1
    腿特群众
    scriptB0y
        2
    scriptB0y  
    OP
       2020-01-13 23:39:46 +08:00
    @miao1007 谢谢谢谢!
    Maboroshii
        3
    Maboroshii  
       2020-01-14 00:19:44 +08:00   ❤️ 1
    看起来很 nice,star 了,学习一下。
    scriptB0y
        4
    scriptB0y  
    OP
       2020-01-14 00:48:09 +08:00 via iPhone
    scriptB0y
        5
    scriptB0y  
    OP
       2020-01-14 00:48:48 +08:00 via iPhone
    @Maboroshii 手机点错发出去了😂 谢谢!
    cxyfreedom
        6
    cxyfreedom  
       2020-01-14 00:52:20 +08:00 via iPhone   ❤️ 1
    推特看到的,支持一下,感觉不错
    binux
        7
    binux  
       2020-01-14 08:37:00 +08:00 via Android   ❤️ 1
    我为什么不在 redis-cli 后面直接接 command 再直接 | ?
    scriptB0y
        8
    scriptB0y  
    OP
       2020-01-14 08:51:56 +08:00 via iPhone
    @binux 也可以。但是要退出 redis-cli,iredis 里面如果你不知道要找哪个 key 的话,找到了可以在里面处理,不用退出,如果 key 很长的话也不用复制到命令行,iredis 可以自动补全。

    但其实并没有 redis-cli 做不到非 iredis 才能做到的功能,甚至用 nc 都能提到 redis-cli,只是有些工具更方便(我理解)

    btw iredis 在命令行管道方面和 redis-cli 表现是一样的,iredis get json | jq . 也可以的。
    binux
        9
    binux  
       2020-01-14 10:41:39 +08:00 via Android   ❤️ 1
    @scriptB0y #8 为什么要退出?开两个窗口不就好了?
    scriptB0y
        10
    scriptB0y  
    OP
       2020-01-14 10:50:36 +08:00
    @binux 是的,假如是用 tmux 这样的工具的话,一个 redis-cli + 一个 shell 效果是一样的! (但是 iredis 可以自动补全嘛,少了一次复制 XD
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2576 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:20 · PVG 11:20 · LAX 19:20 · JFK 22:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.