redis 集群键批量删除修复

This commit is contained in:
吴方海
2025-08-18 14:12:26 +08:00
parent d8643aab26
commit d92c5e311f
+10 -3
View File
@@ -182,10 +182,17 @@ namespace YLErp.Cache
/// <param name="keys"></param>
public bool BatchDelete(string pattern)
{
var keys = QueryKeys(pattern);
foreach (var key in keys)
var endpoints = _redisConnector.GetEndPoints(); // 获取所有节点
var patterns = GenerateKey(pattern);
foreach (var endpoint in endpoints)
{
db.KeyDelete(key); // 逐个删除,规避跨槽位问题
var server = _redisConnector.GetServer(endpoint);
var keys = server.Keys(pattern: patterns);
// 逐键删除(规避跨槽位)
foreach (var key in keys)
{
db.KeyDelete(key);
}
}
return true;
}