redis / ioredis

🚀 A robust, performance-focused, and full-featured Redis client for Node.js.
MIT License
14.31k stars 1.19k forks source link

Feature Request: Add HEXPIRE Command #1898

Open dwprz opened 3 months ago

dwprz commented 3 months ago

I would like to request the addition of a HEXPIPRE command to the ioredis library. The HEXPIPRE command would allow users to set an expiration time on individual fields within a hash, similar to how the EXPIRE command sets an expiration time on keys. This feature would be particularly useful for scenarios where certain fields within a hash need to expire independently of the hash itself.

Consider an order management system where each user's orders are stored as a hash with multiple fields representing different orders. Each order needs to have its own expiration time to ensure that old or unfulfilled orders are automatically removed after a certain period. The HEXPIPRE command would allow us to set an expiration time on each order field without affecting other orders or the main hash.

eephrati commented 2 weeks ago

+1

mlb5000 commented 1 week ago

@dwprz @eephrati I just submitted a PR for this, but the Redis team will need to integrate it and send out new releases.

eephrati commented 1 week ago

@mlb5000 Thanks! If anyone needs a temp solution until this PR get merged, you can do:

redisClient.call("HEXPIRE", redisKey, 10, "FIELDS", 1, "field_name");

this will expire the "field_name" in redisKey hash in 10 seconds.

mlb5000 commented 1 week ago

Ha @eephrati I hadn't even considered using the generic call function. Good call!