Redis中的绝对和滑动缓存

Pri*_*tam 6 redis

我想在Redis中实现Absolute和Sliding Caching.有没有人有任何资源链接,那么它会有所帮助

Cyb*_*axs 14

Redis已经有很多命令:

  • EXPIRE:设置密钥超时.
  • EXPIREAT:与之前相同,但采用绝对的Unix时间戳(自1970年1月1日起的秒数).
  • TTL:返回超时密钥的剩余生存时间

关于Redis上的Expiration,您必须了解的一件重要事情:只有在使用SET或GETSET删除或覆盖密钥时才会清除超时值.所有其他命令(INCR,LPUSH,HMSET,...)永远不会改变初始超时.

绝对过期是使用EXPIRE的Redis的本机功能.要实现滑动过期,您只需在每个命令后重置为超时值.

这样做的基本方法可能是

MULTI
GET MYKEY
EXPIRE MYKEY 60
EXEC
Run Code Online (Sandbox Code Playgroud)

  • 7年过去了,Redis还没有滑动过期吗? (12认同)
  • 请注意,从 Redis 6.2.0 开始,[GETEX](https://redis.io/commands/getex/) 命令允许您在单个命令中执行此操作。 (3认同)