我正在编写一个具有Web套接字(Web流量)端点的Spring Boot应用程序。 Redis在后台运行键/值对。这些值每隔几秒钟更新一次。
客户端调用上述端点,并且只要这些键中的任何一个有新值,它们都应该接收他们请求的键/值对。
我想知道是否有可能订阅Redis持有的一部分密钥,从而使只要其中一个密钥的值发生变化,端点控制器就会得到通知。
真实示例:股票筛选应用程序。客户端向端点发出请求,请求实时获取几个交易品种的价格。最新值存储在Redis中。
答案 0 :(得分:1)
有多种方法可以解决Redis的挑战(我假设Java和Spring都支持它们)。
您的问题似乎与Keyspace Notifications (KSN)和PubSub有关。请注意,PubSub是一劳永逸的(最多一次传递)消息传递总线。
假设您已激活KSN,则可以PSUBSCRIBE
到任何受支持的模式,特别是那些与您感兴趣的键的“集合”相对应的模式。
要使其具有“动态性”,可以先调用PUNSUBSCIBE
,然后再调用PSUBSCRIBE
。