diff --git a/Framework/YLErp.Cache/YLRedisCache.cs b/Framework/YLErp.Cache/YLRedisCache.cs index c88e6e24..e53240e3 100644 --- a/Framework/YLErp.Cache/YLRedisCache.cs +++ b/Framework/YLErp.Cache/YLRedisCache.cs @@ -182,10 +182,17 @@ namespace YLErp.Cache /// 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; }