代码之家  ›  专栏  ›  技术社区  ›  Stefan Huska

如何为redis展平哈希

  •  0
  • Stefan Huska  · 技术社区  · 12 年前

    在redis中,我需要创建这样的hset:

    @redis.hset key, param1, val1, param2, val2
    

    我有n个散列:

    params = {:a => "x", :b => "y"}
    

    压扁:

    params = {:a => "x", :b => "y"}.flatten #=> [:a, "x", :b, "y"]
    

    但我不能这样做:

    @redis.hmset key, params
    

    因为它正在传递一个数组:

    @redis.hmset key, [:a, "x", :b, "y"]
    

    我需要对array做些什么才能做到这一点:

    @redis.hmset key, :a, "x", :b, "y"
    

    你能帮我吗?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Sergio Tulentsev    12 年前

    你需要splat操作员

    @redis.hset key, *params
    

    它将把数组“展开”为单独的参数。