如何解决Redis / Lettuce / Stream - 如何在 xadd
我正在使用 Java 作为馈送器和 python 作为消费者来实现价格馈送。我比 Java 更像 Python。我需要从 Java 发送我自己的条目 ID(时间戳),但我没有找到有关如何执行此操作的示例和清晰的文档(我是入门级 Java)。
这是现在工作的java代码,但是发送默认的Redis条目id,相当于发送:XADD stream_id * key_1 value_1 key_2 value_2。
public void onTick(Instrument instrument,ITick tick) throws JFException {
String _streamName = instrument.name() + ":tick";
long _tickDate = tick.getTime();
String _sTickDate = Long.toString(_tickDate);
double _ask = tick.getAsk();
double _bid = tick.getBid();
Map<String,String> _messageBody = new HashMap<>();
_messageBody.put( "ask",Double.toString(_ask) );
_messageBody.put( "bid",Double.toString(_bid) );
console.getout().println("Sending to " + _streamName + " -> " + tick);
this.sync.xadd(_streamName,_messageBody);
}
在 python 中使用 redis-py 非常简单。
def send_tick(self,instrument,bar_size,tick):
_stream_id = f"{instrument}:{bar_size}"
self.client.xadd(_stream_id,{"bid": tick[self.BID_KEY],"ask": tick[self.ASK_KEY]},id=tick[self.TS_KEY])
它在 id= 命名参数中发送。
我将不胜感激
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。