gpt4 book ai didi

c# - 我们可以为 Azure Redis 缓存中的所有 key 设置过期时间吗?

转载 作者:IT王子 更新时间:2023-10-29 06:07:12 26 4
gpt4 key购买 nike

要在创建 key 时为其设置过期时间,我们可以使用 StringSetAsync 并传递过期时间戳值。但是,如果我们想一次设置多个键值对,这是不可能的 -

Task<bool> StringSetAsync(KeyValuePair<RedisKey, RedisValue>[] values, When when = When.Always, CommandFlags flags = CommandFlags.None);

Task<bool> StringSetAsync(RedisKey key, RedisValue value, TimeSpan? expiry = default(TimeSpan?), When when = When.Always, CommandFlags flags = CommandFlags.None);

是否可以在 azure 某处的缓存级别设置所有 key 的过期时间?我在任何文档中都找不到答案。我想一次设置所有kvps以减少对azure redis缓存的调用次数。我也找不到任何上限。一次调用最多可以获取和设置多少个键?

最佳答案

根据 Redis Commands 列表或 Related commands (页面右侧)列表关于 EXPIRE , 没有命令可以一次使所有 key 过期。

enter image description here

所以唯一的办法就是你需要循环运行命令EXPIRE <key> <seconds>来自命令 KEYS * 的列表.同时,考虑减少请求次数,可以尝试引用题目 Scripting StackExchange.Redis官方文档为所有 key 过期生成 Lua 脚本,并通过命令请求一次过期所有 EVAL .

关于c# - 我们可以为 Azure Redis 缓存中的所有 key 设置过期时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56074046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com