草庐IT

python - 是否可以为 redis 键设置过期时间(批量操作)

我正在使用mget(keys,*args)批量设置key。我还想为key设置过期时间。我使用mset的原因是为了保存对redis的调用。有没有办法批量设置过期key?谢谢。 最佳答案 没有以MSET工作方式为多个键设置TTL的命令。但是,您可以将对MSET的调用替换为一个Lua脚本,该脚本对作为参数传递给它的每个键和值执行SETEX。 关于python-是否可以为redis键设置过期时间(批量操作),我们在StackOverflow上找到一个类似的问题: ht

redis - 如何每天在lua中过期一组redis?

我正在禁止蜘蛛在openresty(1.13.6.2)中使用lua脚本。它将探测非法ip并添加到黑名单。res,err=cache:sadd('black-list',ngx.var.remote_addr)现在我想让黑名单每天12:00过期(解除封禁ip)。如何过期设置每日?正确的做法是什么?这是禁止禁止的代码:is_black,err=cache:sismember('black_list',ngx.var.remote_addr)ifis_black==1thenngx.exit(ngx.HTTP_FORBIDDEN)gotolabelend 最佳答案

javascript - 如何在 Redis 记录中添加 unix 时间戳作为过期时间?

我正在尝试将unix时间戳添加到redis中的记录,因此我正在使用expireat来执行此操作。我已经能够使用以下方法实现我想要的:tokenBlacklist.set(splitId[0],splitId[1]);tokenBlacklist.expireat(splitId[0],tokenExp);//tokenExpexample:1558786197现在,我想知道上面的解决方案是否有任何一种衬垫,例如:tokenBlacklist.set(splitId[0],splitId[1],"EX",tokenExp); 最佳答案

redis - 回收 Redis 中的过期 key

我正在尝试解决Redis中的以下问题。我有一个包含各种可用键的列表:ListMASTER:111A222B333C444D555E我希望能够从列表中弹出一个元素并将其用作具有过期时间的键。到期后,我希望能够将此号码推回MASTER以供将来使用。我没有看到任何明显的方法来做到这一点,所以我正在征求一种有创意的方法。 最佳答案 最好的方法是在key过期的时候让Redis回调,然后采取行动。但是,回调支持仍有待添加(http://code.google.com/p/redis/issues/detail?id=360)。您可以使用包含自定

io - Redis:请只保留不会过期的键?

从我在文档中看到的内容来看,Redis似乎只允许您保留所有key,或者根本不保留(到磁盘)。我想做的是只保留没有TTL的key。也就是说,如果我setexsome_key60"somedata"//orsetsome_key"somedata"expiresome_key60然后不要将这些key保存到磁盘——永远不要!如果这是不可能的,我想下一个最好的解决方案是使用Memcached来存储这些值,并使用Redis来存储我想要保留的内容,但如果我不必这样做的话肯定会很好远.. 最佳答案 AFAIK你所说的是正确的,它要么坚持,要么不能

python - Redis python-rom 对象过期。

我正在使用Flask和Redis。我决定尝试使用romredisorm(http://pythonhosted.org/rom/)来管理一些稍微复杂的数据结构。我有一个对象列表,可以说:urls=['www.google.com','www.example.com','www.python.org']我也有rom模型:classStored_url(rom.Model):url=rom.String(required=True,unique=True,suffix=True)salt=rom.String()hash=rom.String()created_at=rom.Float(d

redis - 如何使 Redis 过期事件只发送给一个客户端

如果两个相同的客户端连接到一个redis服务器,并在一个键过期事件上注册相同的监听器,我可以让redis服务器只发送一个过期事件给一个客户端,而不是两个客户端吗 最佳答案 不,你不能用RedisKeyspaceNotifications做到这一点.KeyspaceNotifications只是Pub/Sub的一个特例.Pub/Sub不允许您这样做。 关于redis-如何使Redis过期事件只发送给一个客户端,我们在StackOverflow上找到一个类似的问题:

session - 您需要在 JWT 中设置过期时间吗?

如果我使用JWT和Redis的组合在我的应用中实现身份验证层来存储session数据,我是否需要在JWTtoken本身中包含过期时间?例如,当您登录应用程序时,会生成一个sessionID并添加到Redis数据库中,有效期为3天。然后该sessionID(连同用户名)用于创建JWT负载。在所有身份验证请求中,我确保token中的sessionID存在于redis数据库中。如果没有,则session已过期,我将颁发一个新token。此实现是否存在安全问题? 最佳答案 没有安全问题,但有人可能会争辩说,通过在JWT中包含一个过期字段,R

redis - redis过期的机制是什么?使用回调或服务器保持 ping

我很好奇Redis是如何实现过期的?Redis是否使用回调使key过期或服务器需要不断pingRedis以检查过期。 最佳答案 没有回调,也不需要检查过期。每次访问key时,Redis首先检查它是否已过期。此外,使用内部cron(每100毫秒)执行一次主动到期。在其中,Redis尝试使它在内部数据结构中跟踪的volatile键过期。从您的问题来看,您似乎有兴趣收到有关过期事件的通知。如果是这种情况,您应该阅读有关RedisKeyspaceNotifications的文档页面这解释了如何做到这一点。

mongodb - MongoDB TTL过期检查的变化周期

关于基于TTL索引的文档过期MongoDBdocumentation说:Thebackgroundtaskthatremovesexpireddocumentsrunsevery60seconds.Asaresult,documentsmayremaininacollectionduringtheperiodbetweentheexpirationofthedocumentandtherunningofthebackgroundtask.有没有办法通过配置改变那个周期?或者它是硬连接在mongod代码中的? 最佳答案 到今天为止,这