是否可以复制Redis分类集?

Pet*_*ete 10 redis

我在Redis中使用两个有序集.在某一点上,我需要过期set 1,重命名set 2set 1.这删除set 2.然后我需要复制set 1以重新创建set 2为副本.这可能吗?

我在Redis文档中发现了zunionstore,但我不确定它是我追求的.

Lin*_*iel 15

确实,zunionstore似乎工作正常.它在指定的集合之间建立联合,并存储结果.如果您只提供一套,它将复制.至少,我只是试了一下它似乎工作:

zadd foo 1 a
zadd foo 2 b
zunionstore bar 1 foo
zrange bar 0 -1
1) "a"
2) "b"
Run Code Online (Sandbox Code Playgroud)

  • 是不是有更有效的复制方式?根据文档,`zunionstore`是'O(N)+ O(M log(M))`. (5认同)
  • 太好了,谢谢Linus.我使用Redis Ruby gem进行此操作,看起来语法与我期望的略有不同.我最终在IRB中使用了:`REDIS.zunionstore('bar',[1,'foo'])`.你的答案正是我所追求的确认. (2认同)