Skip to content
Search ffkv docs

Search the complete handbook, locally.

    TS.NRANGE

    Query a range across multiple time series in forward direction, returning the results grouped by timestamp

    Browse all commands · Upstream source documentation

    Reference fieldValue
    Canonical nameTS.NRANGE
    Catalog groupTime series commands
    Upstream since8.10.0 — upstream Redis/module version, not an ffkv release
    Pinned catalogRedis 8.10.0
    TS.NRANGE numkeys key [key ...] fromTimestamp toTimestamp [LATEST]
    [FILTER BY TS ts [ts ...]] [FILTER BY VALUE min max] [COUNT count]
    [[ALIGN align] AGGREGATION aggregators [aggregators ...] bucketDuration
    [BUCKETTIMESTAMP <start | - | end | + | mid | ~>] [EMPTY]]

    Time-series chunks, retention, labels and live compaction rules are implemented in RAM. TS.READ BLOCK uses bounded actor waiters and is rejected in EXEC/Lua; other reads may be used without blocking. Hybrid does not offload time-series chunks.

    Source: README.md:294, 351–353, 375–377; tests/bdd/features/timeseries.feature.

    All requests share the 8 MiB framing/1,024-argument ingress limit; normal RESP replies have 64 MiB wire/logical budgets with bounded nesting/value counts. Management and Lua origins impose smaller budgets. These are not a process RSS cap. Catalog inclusion is not exhaustive option or wire-format parity. See limits and compatibility.

    This command is in the canonical catalog but has no matching entry in the pinned src/command_metadata.json. Argument flags, complexity and key specifications are not invented. Use the syntax, upstream source documentation and actual scenario evidence below.

    These are source observations, not a test run performed by this documentation build. A tag identifies scenario intent; an extracted vector identifies a command invocation, which may intentionally produce an error. Scenarios may require setup, multiple connections, persistence, cluster nodes or native-module fixtures.

    • Named-series queries group unequal timestamps without fabricating absent samples — tests/bdd/features/timeseries.feature:375; command tag and invocation observed.

    The following JSON arrays are the test harness’s argument vectors, not shell commands. Numeric arguments are converted by the harness; objects of the form {"base64":"…"} represent decoded binary bytes, not a literal JSON command argument. Preserve scenario setup and connection ordering. See the CLI guide for shell quoting and binary stdin. No reply is invented or inferred.

    Named-series queries group unequal timestamps without fabricating absent samples — tests/bdd/features/timeseries.feature:382 (client “ts3” executes:)

    [
    "TS.NRANGE",
    2,
    "east",
    "west",
    0,
    30
    ]

    Next source assertion: the reply equals:

    [[10,[{"$approx":2},{"$approx":7}]],[20,[{"$approx":4},{"type":"double","value":"nan"}]],[30,[{"type":"double","value":"nan"},{"$approx":9}]]]