我想在java实现的基于Http的rest api中利用redis的 key 更新通知机制。
- 一旦在 http Rest API 中收到请求,它就会发布要由异步进程处理的详细信息,并等待来自 Redis 的关联唯一 key 通知。
- 计算后的异步进程将在 Redis 数据库中创建具有相同唯一键的条目。
- rest api 接收唯一 key 通知并使用 http 响应进行回复。
这对于 Redis 来说是可能的吗?还是有更好的选择在 http 请求/回复实现中获得通知?
最佳答案
只要您确保接收消息并提供结果的异步进程足够快,不超过任何配置的请求超时(特别是在可预见的负载下),这种方法就可以。当你不能保证这一点时 - 你可以考虑使用轮询策略:
- 返回异步作业标识符并让客户端询问其结果,或者
- 定义异步作业完成的超时时间 - 如果它在该时间内提供结果 - 返回它,否则返回异步作业标识符,如上所述。
关于rest - Rest api中的redis key 更新通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58653842/