超时执行扫描

时间:2014-10-29 16:09:54

标签: redis stackexchange.redis

获得"超时执行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);
    }
}

1 个答案:

答案 0 :(得分:1)

特定的状态标志组合告诉我一个命令(具体为:scan)卡在未发送的队列中,虽然它知道需要一个编写器,但没有编写器处于活动状态。你有完整的复制品吗?这可能更好地成为一个错误。