擅长:python、mysql、java
<p>除了@Itamar Haber提到的<strong>键空间通知</strong>方法,另一个解决方案是对<code>LIST</code>的阻塞操作。在</p>
<ol>
<li><code>handler</code>方法对空的<code>LIST</code>:<code>BRPOP notify-list timeout</code>调用<code>BRPOP</code>,并阻塞直到{<cd6>}不为空。在</li>
<li>另一个应用程序像往常一样完成键值对的设置后,将该值推送到<code>LIST</code>上:<code>SET key value; LPUSH notify-list value</code>。在</li>
<li><code>handler</code>使用所需的值从阻塞操作中唤醒,<code>notify-list</code>将被Redis自动销毁。在</li>
</ol>
<p>此解决方案的优点是不需要对<code>handler</code>方法进行过多修改(使用键空间通知解决方案,您需要注册一个回调函数)。缺点是您必须依赖另一个应用程序的通知(使用keystpace通知解决方案,Redis会自动发出通知)。在</p>