gpt4 book ai didi

python - 当有大量数据要发送时,如何在 Redis 中实现事务?

转载 作者:IT王子 更新时间:2023-10-29 06:13:24 25 4
gpt4 key购买 nike

我正在使用流水线来确保我的两个命令在事务中执行。

我的代码是:

with redis.pipeline() as p:
p.delete(key)
p.sadd(key, *many_ids)
p.execute()

如您所见,我正在尝试以原子方式用新的一组替换一组。但这会导致写入套接字时出现 错误 32。管道损坏。many_ids 变大(超过 100 万)时。

最佳答案

我认为你遇到的麻烦可能在于扩展你所有的论点。还有另一种方式可以执行此交易;分批构建您的新集合。然后使用 RENAME操作

Renames key to newkey. It returns an error when key does not exist. If newkey already exists it is overwritten, when this happens RENAME executes an implicit DEL operation, so if the deleted key contains a very big value it may cause high latency even if RENAME itself is usually a constant-time operation.

关于python - 当有大量数据要发送时,如何在 Redis 中实现事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44016864/

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