获得"超时执行SCAN,inst:0,mgr:ExecuteSelect,队列:1,qu = 1,qs = 0,qc = 0,wr = 0/1,in = 0/0"在redis上要求钥匙时
不知道为什么会这样?
public void DeleteKeys(string pattern)
{
try
{
EndPoint[] endPoints = m_connectionMultiplexer.GetEndPoints();
foreach (EndPoint endPoint in endPoints)
{
IServer server = m_connectionMultiplexer.GetServer(endPoint);
RedisValue redisValue = pattern;
IEnumerable<RedisKey> redisKeys = server.Keys(0, redisValue);
foreach (RedisKey redisKey in redisKeys)
{
m_connectionMultiplexer.GetDatabase().KeyDelete(redisKey);
}
}
}
catch (Exception ex)
{
m_logger.Exception(ex);
}
}
答案 0 :(得分:1)
特定的状态标志组合告诉我一个命令(具体为:scan
)卡在未发送的队列中,虽然它知道需要一个编写器,但没有编写器处于活动状态。你有完整的复制品吗?这可能更好地成为一个错误。