redis / go-redis

Redis Go client
https://redis.uptrace.dev
BSD 2-Clause "Simplified" License
19.6k stars 2.31k forks source link

Add Optional IGNORE Clause for Time Series Commands #3004

Open ofekshenawa opened 1 month ago

ofekshenawa commented 1 month ago

Description: This issue introduces an optional IGNORE clause for Time Series commands to filter close samples. The IGNORE clause includes two parameters: IGNORE_MAX_TIME_DIFF (milliseconds) and IGNORE_MAX_VAL_DIFF (floating-point). These parameters can be used in the TS.CREATE, TS.ALTER, TS.ADD, TS.INCRBY, and TS.DECRBY commands.

Requirements:

  1. IGNORE Clause Parameters (R.1)

    • IGNORE_MAX_TIME_DIFF: Max time difference between samples.
    • IGNORE_MAX_VAL_DIFF: Max value difference between samples.
  2. TS.CREATE (R.1.1)

    • Support IGNORE clause parameters.
    • Example: TS.CREATE ... IGNORE <ignore_max_time_diff> <ignore_max_val_diff>
  3. TS.ALTER (R.1.2)

    • Support IGNORE clause parameters.
    • Example: TS.ALTER ... IGNORE <ignore_max_time_diff> <ignore_max_val_diff>
  4. TS.ADD (R.1.3)

    • Support IGNORE clause parameters.
    • Example: TS.ADD ... IGNORE <ignore_max_time_diff> <ignore_max_val_diff>
  5. TS.INCRBY (R.1.4)

    • Support IGNORE clause parameters.
    • Example: TS.INCRBY ... IGNORE <ignore_max_time_diff> <ignore_max_val_diff>
  6. TS.DECRBY (R.1.5)

    • Support IGNORE clause parameters.
    • Example: TS.DECRBY ... IGNORE <ignore_max_time_diff> <ignore_max_val_diff>