场景: 用户正在进行长时间的测验。每次互动后,我都会将当前分数和位置存储在测验中。我只想在数据库中存储用户在当前启动期间进行的最后交互。
现在我通过 Redis 实现了这一点,每次我存储最后一次交互时我都会覆盖之前的交互。
这能否通过 Apache 的 ActiveMQ 5.x 实现,每个用户都可以将他的消息分组,而我只使用该组中收到的最后一条消息?
最佳答案
我不知道在 ActiveMQ 5.x 中有任何自动执行此操作的方法,但您可以使用 ActiveMQ Artemis 来执行此操作使用 "last value" queue .此功能允许您将消息的特殊属性设置为特定值,并且任何时候具有相同属性值的另一条消息到达队列时,它将替换前一条消息。
需要说明的是,Artemis 具有对 ActiveMQ 5.x 客户端(使用 OpenWire 协议(protocol))的向后兼容性支持。
关于redis - 如何在 Apache ActiveMQ 中只获取组中的最后一条消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53250580/