当前位置: 首页 > 面试题库 >

Redis中的绝对缓存和滑动缓存

籍永安
2023-03-14
问题内容

我想在Redis中实现绝对缓存和滑动缓存。没有人有任何资源链接,这将是有帮助的


问题答案:

Redis已经为此提供了许多命令:

  • 到期:设置密钥超时。
  • 期望值:与以前相同,但是需要一个绝对的Unix时间戳(自1970年1月1日以来的秒数)。
  • TTL:返回具有超时功能的键的剩余生存时间

您必须了解有关Redis过期的重要一件事:仅当使用SET或GETSET移除或覆盖键时,才会清除超时值。所有其他命令(INCR,LPUSH,HMSET等)将永远不会更改初始超时。

绝对到期 是Redis使用EXPIRE的本机html" target="_blank">功能。要实现 滑动到期, 您只需要在每个命令后将超时值重置为即可。

一个基本的方法可以是

MULTI
GET MYKEY
EXPIRE MYKEY 60
EXEC


 类似资料:
  • 问题内容: 我是Laravel的新手。我已经对该主题进行了研究,但似乎找不到找到可以解决问题的答案。 我知道Laravel的默认缓存驱动程序设置为 file ,可以更改。它还有一些手工缓存命令,例如: 1) 即使Laravel具有一些自动处理某些缓存的内置命令和功能(无法确切了解哪些部分),我仍然必须在查询结果上手动使用Cache Facade,对吗? 它不会自动执行操作,仅在我想更改某些内容时才

  • 我一直在研究Redis(完全没有经验,只是研究了理论),在做了一些研究之后,发现它也被用作缓存。例如StackOverfolow it self。 有什么好处吗? 我试图直接浏览这个答案redis-cache-vs-using-memory-,但我想我没有得到答案中的关键行: “基本上,如果您需要您的应用程序在共享相同数据的几个节点上进行扩展,那么将需要类似Redis(或任何其他远程键/值存储)的

  • 我希望以优雅的方式缓存来自外部服务的数据:旧数据虽然已过期,但仍在被服务,直到工作人员成功获取新数据。数据不是时间关键型的,但是缺少数据(外部服务关闭)会阻止服务运行,因此使用持久缓存。 目前 > 我将获取时间戳存储在一个单独的Redis密钥中 我无限期地缓存数据,直到工作人员获取新数据(我不设置过期时间) 问题 > 这是使用Redis进行优雅缓存的正确方法吗? 我可以从Redis本机获取密钥更新

  • 问题内容: 我正在计划将C#ASP.Net Web应用程序移到Azure(当前托管在单个专用服务器上)的过程中,并且正在研究缓存选项。当前,因为我们一次只能运行一个应用程序实例,所以我们有一个“进程中”内存缓存来缓解SQL DB的某些相同请求。 当前的过程是在管理器/服务对数据库的那些部分进行更改时清除缓存的某些部分,例如,我们有一个用户表,并且我们将拥有诸如“ User。{0}”之类的键,返回一

  • 主要内容:缓存穿透,缓存击穿,缓存雪崩在实际的业务场景中,Redis 一般和其他数据库搭配使用,用来减轻后端数据库的压力,比如和关系型数据库 MySQL 配合使用。 Redis 会把 MySQL 中经常被查询的数据缓存起来,比如热点数据,这样当用户来访问的时候,就不需要到 MySQL 中去查询了,而是直接获取 Redis 中的缓存数据,从而降低了后端数据库的读取压力。如果说用户查询的数据 Redis 没有,此时用户的查询请求就会转到

  • 本文向大家介绍Spring Cache手动清理Redis缓存,包括了Spring Cache手动清理Redis缓存的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Spring Cache手动清理Redis缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 注册cacheRedisTemplate 将 cache 的 RedisTemp