gpt4 book ai didi

redis - 在 Redis 中寻找复制集命令(或替代命令)

转载 作者:IT王子 更新时间:2023-10-29 05:54:40 26 4
gpt4 key购买 nike

我是 Redis 的新手,我正在寻找有关集合的一些具体帮助。提供一些背景知识:我正在构建一个网络应用程序,其中包含大量卡片组,每个卡片组都有一组具有唯一 ID 的单独卡片。我希望用户从特定的牌组中随机抽取一组 5 张牌。

我的计划是将给定牌组的所有卡片 ID 作为集合存储在 Redis 中;然后我想使用 SPOP 函数绘制单个卡片并将它们从集合中删除,这样它们就不会在那只手中再次绘制。将卡片组的卡片 ID“主集”复制到一个新的临时集,对副本执行弹出操作,然后在完成后删除复制的集,这似乎是有意义的。

但是:我找不到任何 Redis 函数来命令集合副本 - 我能看到的最接近的事情是也创建一个空集合,然后“加入”空集合和集合的“主副本”使用 SUNIONSTORE 进入一个新的(如果是临时的)集合,但这看起来很老套。我想另一种方法是将设置的项目复制到我的“宿主语言”(node.js) 中,然后手动将这些项目重新插入到新的 Redis 集中,但这看起来也很笨拙。可能还有我什至没有想到的更好的第三种选择。

我是不是做错了什么 - 我是不是“得到”了 Redis,还是命令集还不够成熟?

最佳答案

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 吧!萨尔瓦多

关于redis - 在 Redis 中寻找复制集命令(或替代命令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4474770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com