gpt4 book ai didi

c# - StackExchange Redis 删除所有以以下开头的键

转载 作者:行者123 更新时间:2023-12-02 03:21:32 26 4
gpt4 key购买 nike

我有一个格式为以下的 key :

Error.1
Error.24
Error.32

使用StackExchange.Redis,我如何对与格式Error.匹配的所有键进行KeyDelete

在另一个答案中我看到了 LUA 脚本:

EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 Error.*

但我不确定如何使用Database.ScriptEvaluate()来调用它

最佳答案

只需获取与模式匹配的所有键,迭代并删除,如下所示:

using (var redisConnection = ConnectionMultiplexer.Connect(...))
{
var server = redisConnection.GetServer(endpoint:...);

if (server != null)
{
foreach (var key in server.Keys(pattern: "Error.*"))
{
redisConnection.Database.KeyDelete(key);
}
}
}

稍后编辑:

设置 Redis 连接的示例:https://gist.github.com/cristipufu/9ad47caf3dba60d712484d0c880597b9

多路复用器应存储并重复使用,而不是每次都丢弃并重新创建。 https://stackexchange.github.io/StackExchange.Redis/Basics

通过调整/指定 Keys 调用的 pageSize 参数可以显着提高性能。其默认值为 10。尝试 1,000。

StackExchange.Redis server.Keys(pattern:"IsVerySlow*")

关于c# - StackExchange Redis 删除所有以以下开头的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247952/

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