草庐IT

node.js - 如何禁止通过 Express-session 存储的 session 的 TTL 刷新?

我有一些关于session处理的要求,但我无法执行其中的一个。session需要:如果用户不活跃则在30分钟后过期无论事件如何,都将在用户首次登录后的8小时内过期。我能够配置第1项但不能配置第2项。每次用户浏览应用程序时,cookie都会更新(时间+30分钟)并发送回浏览器,但同时session存储TTL也是刷新。最后一部分是我需要停止的。我相信TTL刷新是作为express-session的一项功能实现的。Session.touch()由中间件调用,但是否有一个设置可以删除此操作?堆栈:用于session存储的Node、express、express-session、connect-

node.js - 如何管理nodejs中Redis的kue模块中的TTL超出错误?

我正在开发NodeJS应用程序,在该应用程序中,我使用Redis的kue模块来管理队列以执行任务。出现错误“超过TTL”。由于这个错误,整个redis任务队列都被阻塞了,它可能不会自动启动队列,也不允许执行队列中的其他待处理任务。根据Kue文档:Jobproducerscansetanexpiryvalueforthetimetheirjobcanliveinactivestate,sothatifworkersdidn'treplyintimelyfashion,KuewillfailitwithTTLexceedederrormessagepreventingthatjobfrom

redis - 使用 Apache NiFi PutDistributedMapCache 在 Redis 上设置 TTL

通过ApacheNiFiv1.4.0,我们如何通过PutDistributedMapCache处理器和RedisDistributedMapCacheClientService为缓存在Redis中的键设置TTL?似乎TTL默认设置为-1,因此它们可能永远存在,除非Redis本身根据其maxmemory驱逐策略清除它们。 最佳答案 我认为现在还没有公开,但这将是一个不错的改进。由于PutDistributedMapCache不是特定于Redis的,我们要么需要RedisDistributedMapCacheClientService中

java - @cacheable spring for redis,方法特定的ttl?

我想使用redis来缓存我的远程服务请求:响应键:使用@Cacheable注释的值对我知道Redis为我提供了具有特定key到期时间的功能。spring@Cacheable中是否有任何规定允许我使用此redis功能。理想情况下,“ttl”应该是@Cacheable注释的属性,但由于并非所有缓存都支持特定于key的ttl,因此spring可能不包含ttl属性。据我所知,spring建议使用具有不同到期时间的不同org.springframework.cache.CacheManager实例,但这似乎是一种开销,因为Redis已经可以通过单个客户端实例。当使用@Cacheable注释时,你

redis - 如何在Redis(Jedis)的hset中添加一个键的TTL值

我已经使用过期计时器设置了一个key:SETEXmykey200"Hello"我想将TTLmykey的值添加到hset中:hsetmyhashf1TTLmykey但是,它显示以下错误:ERRwrongnumberofargumentsforHMSET我正在尝试使用Jedis实现此功能,是否有任何特定于jedis的解决方案? 最佳答案 您想获取某个键的TTL值并将其放入散列中吗?然后试试这个:EVAL'localttl=redis.call("ttl",KEYS[1])redis.call("hset","myhash",KEYS[2

node.js 使用 Redis 使用 ttl 创建作业

我需要在这种情况下设计一个node.js应用程序:用户使用具有唯一tokencookie的cookie请求/page>Node.js在Redis(?)上使用此token创建一个记录,TTL为5分钟。tokens有n类型。所以redis(?)应该存储带有类型的token。如果用户在record到期之前再次回来,record的TTL将再次重置为5分钟。如果用户没有再次回来并且record过期,将触发一个函数。最后,我还需要属于特定类型(即类型27)的record的计数。解决这个问题的最佳方法是什么?Redis是正确的选择吗?如果使用redis,如何统计token并触发第5步?使用https

node.js - 防止为 connect-redis session 设置 TTL 以允许 allkeys-lru 用于内存策略

我已经使用connect-redis和redis包设置了一个非常简单的RedisStore。我有一个专门用于我的session存储的盒子,我想使用allkeys-lrumaxmemory策略而不是TTL进行逐出。似乎connect-redis的存储不允许设置TTL(我在创建存储时尝试在选项对象中使用-1,看起来像将TTL设置为0)。有关如何执行此操作的任何建议?另外,有人明白为什么这可能是一种不好的做法吗? 最佳答案 查看relevantsourcecode,似乎connect-redis不会让您在key未过期的情况下使用它。在我看

redis - volatile-ttl 在 Redis 中如何工作?

在Redis.conf中,介绍了各种关键的逐出策略,以及有关它们工作原理的一些基础知识。我相信我想使用volatile-ttl,但我找不到关于它如何工作的足够信息。表面上,清澈见底;最接近过期时间的key最先出现。如果Redis逐出具有过期时间的所有键怎么办?假设它仍然需要继续逐出以保持在maxmemory以下,那么它接下来选择什么来逐出?#MAXMEMORYPOLICY:howRediswillselectwhattoremovewhenmaxmemory#isreached.Youcanselectamongfivebehaviors:##volatile-lru->removet

javascript - 如何从Node获取多个Redis key的TTL

我正在尝试显示所有看起来像“myprefix:*”的键及其TTL的View。然后,我可以允许管理员使key过期或“触摸它”(即在过期时间后增加一个小时)。我可以使用redisClient.keys('myprefix:*',(err,keys)=>{})来获取我的key,但是redisClient.ttl命令只接受一个键,而不是一个数组。我不想遍历数组并发送n个ttl命令。我知道我可能可以使用multi来发送ttl命令的事务,但我想知道是否有更好的方法(在JavaScript中-不是shell)在一个/两个命令中获取所有key及其TTL? 最佳答案

redis - Redisson CacheConfig中ttl和maxIdletime有什么区别

我试图引用文档,但我仍然不清楚CacheConfig中ttl和maxIdleTime之间的区别。Redisson中的类。任何人都可以解释一下吗? 最佳答案 ma​​xIdleTime允许缓存对象在短于maxIdleTime的时间内被请求保留ttl将使缓存的对象在该秒数后失效,无论它被请求了多少次或何时被请求。 关于redis-RedissonCacheConfig中ttl和maxIdletime有什么区别,我们在StackOverflow上找到一个类似的问题: