1
votes

I'm using StackExchange.Redis version 1.0.0.0 in C# Windows Application. This Application is Multi-Thread and we save some values in Redis Cache. When I need a key's value, First i check Existence of that key by EXISTS command.

some times an Exception occurs:

Timeout performing EXISTS SpeedLimit_GF__VU_3, inst: 2, mgr: ExecuteSelect, queue: 0, qu=0, qs=0, qc=0, wr=0/0, in=0/0, IOCP:(Busy=0,Free=1000,Min=8,Max=1000), WORKER:(Busy=1,Free=1022,Min=8,Max=1023) at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor1 processor, ServerEndPoint server) at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor1 processor, ServerEndPoint server) at StackExchange.Redis.RedisDatabase.KeyExists(RedisKey key, CommandFlags flags) . . .

Cache Server and Application Server is same. What can be the reason and how I can solve this problem?

1

1 Answers

0
votes

That error message tells me that the client wasn't doing anything interesting at the time, so the question becomes: what was the server doing? Is there anything in slowlog get that ties to this time? Is there anything ib the server log? In particular, my first thoughts would be:

  1. Was the server persisting (aof rewrite or rdb) at this point?
  2. Was there a long running operation blocking the server (keys * for example, which you shouldn't use)
  3. Was it establishing replication with a master/slave?
  4. Was there a network blip?