<p>Redis事件是“火与忘”。如果没有人在听,他们就不会被发现。没有历史。但在互联网上,我没有找到任何能回答以下问题的答案(我正在使用redis py和aioredis for python):</p>
<p>代码是否确实需要侦听事件才能接收它,或者redis连接是否会为我缓存事件</p>
<p>假设我有一个循环:</p>
<pre><code>redis_db = Redis(...)
while True:
print("Hey, I'm listening now!")
msg = redis_db.blocking_subscribe("some_topic") # pseudo-code, because I'm using various libraries
if msg == "calc":
do_a_heavy_5_seconds_calculation()
print("YAY, I was busy and am back up now!")
</code></pre>
<p>那么,我会错过5s计算中发生的所有事件,还是我的<code>redis_db</code>会为我缓存它们</p>
<p>换句话说。。。如果我没有<strong>连接,或者如果我有连接,但是<strong>没有在听,那么触发并忘记是否适用</p>