首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redistimeseries客户端库-支持为方法Get、Mget、Range发出可选字段“最新”?

Redistimeseries客户端库-支持为方法Get、Mget、Range发出可选字段“最新”?
EN

Stack Overflow用户
提问于 2022-09-09 11:33:05
回答 2查看 52关注 0票数 1

我需要redistimeseries客户端的帮助。当我使用python的redisclientobject.range()方法时,我无法提供最新的可选字段。python库不支持它吗?使用“最新”对我来说至关重要,因为当我进行聚合时,我需要正在进行的桶数据(部分)。get,mget函数也存在同样的问题。

背景。*我存储实时库存数据(蜱),并通过创建规则使用压缩(聚合)。同时,我需要绘制图表上的实时刻度数据,这意味着我需要最新的正在进行的压缩数据。然而,当我使用redis并发出ts.range键+最新消息时,我会得到正在进行的压缩。但是在Python客户端库中,我不知道是否可能。我已经检查了Client类的def range()方法,并且我认为可选字段'Latest‘没有实现。

在下面的红层上是结果。

TS.RANGE VWAP:ticks:MCX:CRUDEOIL22SEPFUT 1662717300000 1662791113000最新

/

    1. (integer) 1662717300000
    2. 738244

    1. (integer) 1662717600000
    2. 724450

如果没有最新消息,

TS.RANGE VWAP:5 5min:MCX:CRUDEOIL22SEPFUT 1662717300000 1662791113000

    1. (integer) 1662717300000
    2. 738244
EN

回答 2

Stack Overflow用户

发布于 2022-09-09 15:07:47

您正在使用最新的redis-py (4.4.0rc1)吗?

https://github.com/redis/redis-py/pull/2296

https://github.com/redis/redis-py/releases/tag/v4.4.0rc1

请注意,RedisTimeSeries 1.8仍然是发行版的候选版本。

票数 2
EN

Stack Overflow用户

发布于 2022-09-09 12:55:47

我已经对客户机进行了子类化,并修改了get方法如下(实际上将get方法重命名为myget而不是重写)

类myRedisTSClient(客户端):init(self,conn=None,*args,**kwargs): *args,**kwargs

代码语言:javascript
复制
def myget(self,key,latest=False) :
    """Gets the last sample of ``key``"""
    if latest :
        paramLatest = 'LATEST'
        logging.info(f"COMMAND TO BE SET : {self.GET_CMD} {key} {paramLatest}")
        return self.redis.execute_command(self.GET_CMD, key, paramLatest)
    else :
        return self.redis.execute_command(self.GET_CMD, key)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73661513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档