gpt4 book ai didi

Redis 保证 XREAD 返回值?

转载 作者:行者123 更新时间:2023-12-03 06:42:23 29 4
gpt4 key购买 nike

可以使用 XREAD(或者可能是另一个命令)以原子方式检测数据是否写入 Redis 流?
进一步来说:
假设您在一个进程中将一些数据添加到 Redis 流中,并看到数据已通过某个自动生成的 key 成功添加。

XADD somestream foo bar
此 XADD 完成后,您立即在另一个进程中运行以下读取。
XREAD COUNT 1000 STREAMS somestream 0-0
这个 XREAD 是否保证返回数据?文档不清楚成功的 XADD 是否保证读者会立即看到添加的数据,或者是否可能会有一些小的延迟。

最佳答案

Redis著名的单线程architecture回答这个问题。当你执行 XADD在一个进程(客户端)和另一个进程(客户端)之后执行 XREAD然后服务器连续执行它们,以保证数据将在 XREAD 之前存在被执行。
接下来的报价来自The Little Redis Book

Every Redis command is atomic, including the ones that do multiple things. Additionally, Redis has support for transactions when using multiple commands.


You might not know it, but Redis is actually single-threaded, which is how every command is guaranteed to be atomic.While one command is executing, no other command will run. (We’ll briefly talk about scaling in a later chapter.) Thisis particularly useful when you consider that some commands do multiple things.

关于Redis 保证 XREAD 返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62583343/

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