在Redis中查找复制集命令(或替代命令)
我是Redis的新手,我正在寻找一些关于设置的具体帮助。给一些背景信息:我正在构建一个web应用程序,它由大量卡片组组成,每个卡片组都有一组具有唯一ID的单独卡片。我希望用户有一套5张卡,从一个特定的牌组中随机抽取 我的计划是将给定卡片组的所有卡片ID作为一组存储在Redis中;然后我想使用SPOP函数来绘制单个卡片,并将它们从集合中移除,这样它们就不会在该手牌中再次绘制。这样做似乎是有意义的,将卡片组的卡ID“主集”复制到一个新的临时集,在副本上执行弹出操作,然后在完成后删除复制的集 但是:我找不到任何Redis函数来命令一个集合副本-我能看到的最接近的事情是也创建一个空集合,然后将空集合和集合的“主副本”与SUNIONSTORE“连接”到一个新的(如果是临时的)集合中,但这似乎有点骇人听闻。我想另一种方法是将设置的项目复制到我的“主机语言”(node.js)中,然后手动将项目插入到新的Redis集中,但这似乎也很笨拙。也许还有更好的第三种选择,我甚至没有想到 我做错了什么吗?我不是“得到”了Redis,还是命令集还不成熟在Redis中查找复制集命令(或替代命令),redis,Redis,我是Redis的新手,我正在寻找一些关于设置的具体帮助。给一些背景信息:我正在构建一个web应用程序,它由大量卡片组组成,每个卡片组都有一组具有唯一ID的单独卡片。我希望用户有一套5张卡,从一个特定的牌组中随机抽取 我的计划是将给定卡片组的所有卡片ID作为一组存储在Redis中;然后我想使用SPOP函数来绘制单个卡片,并将它们从集合中移除,这样它们就不会在该手牌中再次绘制。这样做似乎是有意义的,将卡片组的卡ID“主集”复制到一个新的临时集,在副本上执行弹出操作,然后在完成后删除复制的集 但是:我
redis> sadd mydeck 1
(integer) 1
redis> sadd mydeck 2
(integer) 1
redis> sadd mydeck 3
(integer) 1
redis> smembers mydeck
1) "1"
2) "2"
3) "3"
redis> sunionstore tempdeck mydeck
(integer) 3
redis> smembers mydeck
1) "1"
2) "2"
3) "3"
redis> smembers tempdeck
1) "1"
2) "2"
3) "3"
享受Redis带来的乐趣!
萨尔瓦多