Redis: possible to expire an element in an array or sorted set?

randombits picture randombits · Sep 28, 2011 · Viewed 48.8k times · Source

Is it currently only possible to expire an entire key/value pair? What if I want to add values to a List type structure and have them get auto removed 1 hour after insertion. Is that currently possible, or would it require running a cron job to do the purging manually?

Answer

Adriaan Pelzer picture Adriaan Pelzer · Nov 8, 2013

There is a common pattern that solves this problem quite well.

Use sorted sets, and use a timestamp as the score. It's then trivial to delete items by score range, which could be done periodically, or only on every write, with reads always ignoring the out of range elements, by reading only a range of scores.

More here: https://groups.google.com/forum/#!topic/redis-db/rXXMCLNkNSs