爱意满满的作品展示区。
wangleineo

Redis-plus - 扩展了一下 Redis 的命令集

  •  
  •   wangleineo ·
    RealHacker · Feb 17, 2016 · 2852 views
    This topic created in 3811 days ago, the information mentioned may be changed or developed.

    Redis 支持的数据结构有一些操作并没有命令支持,需要借助 Pipeline 或者 Lua 脚本完成。我 fork 了 Redis ,用 C 实现了几个命令:

    https://github.com/RealHacker/redis-plus

    命令

    HPOP HKEY KEY

    • 从散列表中 Pop 一个 Key ,并返回它的值。相当于 HGET + HDEL 。

    LFIND LKEY STARTAT VALUE

    • 返回列表中值为 Value 的第一个位置,从 STARTAT 开始搜索。

    LINSERTAT LKEY INDEX VALUE

    • 在列表中 INDEX 的位置处插入 VALUE 节点。

    LCOUNT LKEY VALUE

    • 返回列表中值是 VALUE 的节点个数。

    SXOR SKEY1 SKEY2

    • 集合的异或操作 XOR

    大家认为还有什么命令是比较常用的?欢迎 feature request 或 pull request 。

    4 replies    2016-02-18 13:09:19 +08:00
    Zzzzzzzzz
        1
    Zzzzzzzzz  
       Feb 17, 2016   ❤️ 1
    提个小建议, 项目名字最好换一个, redis 使用的 BSD 协议是禁止这么干的

    "Neither the name of Redis nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission."

    而且一般开源项目的第三方衍生项目用原项目的名字+plus 也不妥.
    wangleineo
        2
    wangleineo  
    OP
       Feb 17, 2016
    @Zzzzzzzzz 但是这并不是一个 product ,感觉并没有违反协议,而且未来可以 merge 到 redis ,虽然很可能不被接受。
    zts1993
        3
    zts1993  
       Feb 18, 2016
    上述所有命令是不是都可以通过 lua 实现?
    wangleineo
        4
    wangleineo  
    OP
       Feb 18, 2016
    @zts1993 是的

    Redis 现在支持的命令集合也不是最精简的,也就是说其中一些命令(比如 GETSET )完全可以用一些核心命令+Lua 实现。所以我觉得增加一些命令也没有违背它的设计原则。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2843 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:44 · PVG 17:44 · LAX 02:44 · JFK 05:44
    ♥ Do have faith in what you're doing.