Absolute and Sliding Caching In Redis

redis

Solution

Redis already have many commands for this :

- EXPIRE : Set a timeout on key.

- EXPIREAT : Same as previous but takes an absolute Unix timestamp (seconds since January 1, 1970).

- TTL : Returns the remaining time to live of a key that has a timeout

One important thing you have to know about Expiration on Redis : the timeout value is cleared only when the key is removed or overwritten using SET or GETSET. All others commands (INCR, LPUSH, HMSET, ...) will never change the initial timeout.

Absolute expiration is a native feature of Redis using EXPIRE. To implement a sliding expiration you simply need to reset to timeout value after each command.

A basic way to do this could be

MULTI
GET MYKEY
EXPIRE MYKEY 60
EXEC

Problem

I want to implement Absolute and Sliding Caching In Redis. Does anyone have any resource link then it will be helpful

Original source