Hotkeys Adjustmens by nkaradzhov · Pull Request #3173 · redis/node-redis

added 2 commits

February 5, 2026 13:43
- Change time units from ms to us for CPU time fields
- Add SlotRange interface for slot range representation
- Update field names (byCpuTime → byCpuTimeUs, etc.)
- Fix HOTKEYS_STOP to return null in empty state
- Update response parsing for new array-wrapped format
- Add test for HOTKEYS_STOP empty state behavior
- nil -> null

PavelPashov

@nkaradzhov

…l clients

HOTKEYS commands require session affinity (sticky connection to a single
Redis node) which cluster, pool, and sentinel clients cannot guarantee.

Changes:
- Created NON_STICKY_COMMANDS export in commands/index.ts that excludes HOTKEYS commands
- Updated cluster, pool, and sentinel to use NON_STICKY_COMMANDS instead of COMMANDS
- Added tests to verify HOTKEYS commands are not available on these client types

@nkaradzhov

PavelPashov

@nkaradzhov

- Fix field name from 'sampled-command-selected-slots-us' to
  'sampled-commands-selected-slots-us' (with 's') to align with
  server changes in the new test image
- Update TypeScript property name from sampledCommandSelectedSlotsUs
  to sampledCommandsSelectedSlotsUs for consistency
- Add comprehensive tests for all HOTKEYS GET response fields
- Add cluster tests for SLOTS and SAMPLE options to verify
  slot-specific and sampled fields are correctly parsed