2012-08-06 12 views
6

A volte (non sempre) sto ottenendoServiceStack.Redis: Impossibile connettersi: Sport: 0

"incapace di collegarsi: Sport: 0"

errore quando si tenta di ottenere valore da Redis quando si utilizza ServiceStack .Redis. Qualcuno sa cosa potrebbe significare? Sto usando PooledRedisClientManager per ottenere il client.

risposta

8

Credo che sia possibile risolvere questo problema aumentando il ConnectTimeout del pool. Avevo impostato molto basso (10 ms), quindi quando il pool è stato creato, alcuni dei client non sono stati in grado di connettersi in quel breve periodo. Se il pool restituisce uno di questi client, genera questo errore (la porta "0" è perché non è connessa - non sa a quale porta non è connesso). Dopo un ritardo, tutti i client sono in grado di connettersi.

Ho aumentato il timeout di connessione a 500 ms e il problema è scomparso: tutti i client si connettono, anche se alcuni bloccano per un paio di centinaia di millisecondi. Ma è molto meglio di un errore.

+0

Sembra aver funzionato. Inizialmente pensavo che il timeout della connessione fosse in secondi, quindi nessuna sorpresa impostandolo su 10 non mi stava aiutando :) – Klotin

-2

Potrebbe significare che il numero di porta o l'indirizzo dell'host sono errati.

Problemi correlati