redis 集群键批量删除修复
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user