1
是否有可能等待Redis中存在密钥?让引擎在处理繁重工作的背景中运行。这个想法是让其余的API向Redis发送请求,并从该列表读取引擎。其余的api会监视一个特定的密钥,最终将包含发送给客户端的响应。Redis/Node等待密钥存在
这可能吗? - 当我做我自己的研究时,我一直在使用BLPOP,但这是列表而不是Redis中的特定密钥。
有没有更好的方法来做到这一点?
是否有可能等待Redis中存在密钥?让引擎在处理繁重工作的背景中运行。这个想法是让其余的API向Redis发送请求,并从该列表读取引擎。其余的api会监视一个特定的密钥,最终将包含发送给客户端的响应。Redis/Node等待密钥存在
这可能吗? - 当我做我自己的研究时,我一直在使用BLPOP,但这是列表而不是Redis中的特定密钥。
有没有更好的方法来做到这一点?
您可以使用Redis Keyspace Notification功能来实现目标。
借助此功能,当有人创建/设置给定密钥时,Redis会将消息发布到特定频道。为了等待一个给定的密钥存在,您只需要为这个特定频道订阅,然后等待通知。
// Enable keyspace notification:
config set notify-keyspace-events g$K
// subscribe the specific channel: [email protected]<db_num>__:<key_name>
subscribe '[email protected]__:key'
当有人设置键,你会得到以下通知:
1) "message"
2) "[email protected]__:key"
3) "set"
听起来像是你要使用的Redis的发布/订阅的一部分通知REST API的关键已经添加。 – david
@david我知道pub/sub之前使用过,但实际上在阅读你的评论后,你实际上给了我一个好主意:)非常感谢 – kevingilbert100