分享自己写的 Node.js 的 Redis 库: ioredis - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
luin
V2EX    分享创造

分享自己写的 Node.js 的 Redis 库: ioredis

  •  4
     
  •   luin
    luin 2015-05-17 10:38:21 +08:00 11791 次点击
    这是一个创建于 3832 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天看到有一篇帖子讨论国人的开源项目,看完还挺有感触的。大家用 Node.js 连接 Redis 大多会用 node_redis 这个库,但实际上这个库有很多起眼或不起眼的 bug,对各种功能(Pipelining, Scripting, Sentinel 和 Cluster)的支持也不完善(或没有),而且看提交记录可以很明显地感觉到作者不再维护这个库了。我提交了几个 issue 和 pr,但是可惜都没有被回复或 merge。

    为此我写了一个独立的库 ioredis,希望能实现一个更稳定、功能更丰富的 Redis 客户端。在实现的过程中也翻遍了 node_redis 的所有 issue 和 pr,看看 ioredis 里会不会有类似的问题。现在 ioredis 已经在 Redis 官方网站被列为推荐客户端

    因为经常参与开源项目,所以深知维护一个开源项目的不易。就 ioredis 来说,虽然开发只用了四个周末的时间,但是为了维护它,我搭上了最近一个月的大部分业余时间。说实话我也不知道自己能坚持多久,不过看到 ioredis 能给很多人带来方便,内心还是很开心的,而且我也相信 ioredis 能够在开源社区的帮助下继续发展下去。在我看来这正是开源项目的魅力之一,也是我热衷于开源项目的主要缘由,亦是因此,我对 node_redis 的作者充满感激。

    毕竟是分享创造节点,重要的事多说一遍,欢迎大家 star 和贡献代码给 ioredis 以及其他开源项目。

    ioredis: https://github.com/luin/ioredis

    39 条回复    2016-09-04 13:53:11 +08:00
    FrankFang128
        1
    FrankFang128  
       2015-05-17 10:50:50 +08:00 via Android
    火钳
    mthli
        2
    mthli  
       2015-05-17 10:52:03 +08:00
    赞!
    bindy
        3
    bindy  
       2015-05-17 11:12:35 +08:00
    用redis的理由是?
    facat
        4
    facat  
       2015-05-17 11:28:16 +08:00
    @bindy 做mysql等非关系数据库的front-end?
    facat
        5
    facat  
       2015-05-17 11:28:38 +08:00
    @bindy 打错,是关系数据库
    kn007
        6
    kn007  
       2015-05-17 11:52:32 +08:00
    magicdawn
        7
    magicdawn  
       2015-05-17 13:07:49 +08:00
    star 已送
    jokester
        8
    jokester  
       2015-05-17 13:08:40 +08:00
    no13bus
        9
    no13bus  
       2015-05-17 13:24:30 +08:00
    原来你也在这里。 http://ohmyrepo.ml/show?u=luin&r=ioredis ioredis今天的走势强劲呀。
    你的那本redis书 我学到了好多东西。
    mcfog
        10
    mcfog  
       2015-05-17 13:26:03 +08:00


    可惜>=0.11有点疼……
    luin
        11
    luin  
    OP
       2015-05-17 14:54:33 +08:00   1
    luin
        12
    luin  
    OP
       2015-05-17 15:04:43 +08:00
    @no13bus 还是 4 月 24 日厉害,嘻嘻
    luin
        13
    luin  
    OP
       2015-05-17 15:06:56 +08:00
    @mcfog 其实支持 0.11.15 以下版本也不难,只是有些 API 有改动。但是觉得应该挺少人用了,毕竟都 0.12.x 和 io.js 了
    zado
        14
    zado  
       2015-05-17 15:33:37 +08:00
    赞,有中文说明书就更加好了.
    luin
        15
    luin  
    OP
       2015-05-17 15:40:13 +08:00   1
    @zado 嗯也想过写中文文档,不过要维护两份文档工作量有些大,毕竟字数挺多的还......
    shiny
        16
    shiny  
    PRO
       2015-05-17 15:42:33 +08:00
    还以为是谁这么厉害,一看是 luin
    zado
        17
    zado  
       2015-05-17 15:50:35 +08:00
    @luin 理解,能写好一份都是非常不错的了.而且如果写两份影响了质量,还是只有一份更加详细准确的好.
    luin
        18
    luin  
    OP
       2015-05-18 09:46:58 +08:00 via iPhone
    @shiny ()
    hayeah
        19
    hayeah  
       2015-05-18 10:00:47 +08:00
    超赞!希望楼主能多拉几个贡献者
    ETiV
        20
    ETiV  
       2015-05-18 10:10:43 +08:00
    已★
    ibigbug
        21
    ibigbug  
       2015-05-18 10:16:55 +08:00
    shiren1118
        22
    shiren1118  
       2015-05-18 10:18:50 +08:00
    @luin 有一个问题很严重 https://cnodejs.org/topic/555347dab8ec4ac201f11833

    在v0.12.2下面跑步起来。。。。
    wuliao49
        23
    wuliao49  
       2015-05-18 10:22:58 +08:00
    赞一个,没有太好的方式,只能感谢+star。
    yuezhimsolo
        24
    yuezhimsolo  
       2015-05-18 10:28:12 +08:00
    我只能用非主流方式来顶你个肺表示感谢!
    luin
        25
    luin  
    OP
       2015-05-18 10:29:15 +08:00
    @shiren1118 咦?v0.12.2 肯定没问题呐,已经用 travis 针对 0.11.16, 0.12 和 iojs 做自动测试了。链接里和 ioredis 有啥关系不?
    ericls
        26
    ericls  
       2015-05-18 10:51:53 +08:00   1
    @no13bus 这网站做得不错!
    shiren1118
        27
    shiren1118  
       2015-05-18 13:30:39 +08:00
    @luin 是这样的,node-inspector目前只能在0.10.38上跑,所以还是希望ioredis可以支持0.10.38,不然调试好麻烦
    luin
        28
    luin  
    OP
       2015-05-18 13:52:36 +08:00
    @shiren1118 这样啊,我回头看一下
    fyu2012
        29
    fyu2012  
       2015-05-18 19:22:05 +08:00
    超赞!
    jimmy66
        30
    jimmy66  
       2015-05-18 19:31:08 +08:00
    star支持
    popo233
        31
    popo233  
       2015-05-20 00:15:56 +08:00
    you are so diao, I am so ruo (
    libotony
        32
    libotony  
       2015-05-21 10:43:07 +08:00
    已star
    luin
        33
    luin  
    OP
       2015-05-21 17:05:54 +08:00
    @shiren1118 已经支持到 0.10.16 了
    shiren1118
        34
    shiren1118  
       2015-05-22 09:36:25 +08:00
    @luin zihua很给力啊
    whimsySun
        35
    whimsySun  
       2015-05-22 09:58:44 +08:00
    狂赞不止
    fszaer
        36
    fszaer  
       2015-05-22 17:14:45 +08:00
    草鸡棒
    qige023
        37
    qige023  
       2015-05-25 00:10:25 +08:00
    赞一个,国内需要越来越多像楼主这样的开发者
    flynngao
        38
    flynngao  
       2015-06-14 22:18:22 +08:00
    x1911
        39
    x1911  
       2016-09-04 13:53:11 +08:00
    真棒,希望能有中文的文档
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1026 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 22:54 PVG 06:54 LAX 14:54 JFK 17:54
    Do hav faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86