Conectarse a Azure Redis caché a través de HTTP

votos
1

Estoy usando ServiceStack.Redis para conectarse a Redis y funciona correctamente en mi máquina de desarrollo.

Básicamente, abro la conexión a través de esta línea:

client = new RedisClient(host);

Donde host, en mi máquina de desarrollo, es localhost.

Ahora, me gustaría subir mi aplicación en Azure, así que creé una caché en Azure y estoy tratando de conectar con él pasando la cadena de conexión siguiente:

XXX.redis.cache.windows.net, ssl = false, contraseña = YYY

La creación de la RedisClient parece funcionar, pero cuando trato de realizar una operación (el primero en ser ejecutado siendo client.RemoveByPattern(...)), me sale el siguiente error:

Detalles de la excepción: System.Net.Sockets.SocketException: No existe el anfitrión es conocida

Tenga en cuenta que permitió la memoria caché para ser conectado a través de HTTP, por lo que normalmente, el puerto 6379 se desbloquea y accesible.

Todo el ejemplo que he encontrado a través de Internet están utilizando ConnectionMultiplexer, pero no parece que se encuentran en el paquete NuGet ServiceStack.Redis esta clase.

¿Qué estoy haciendo mal?

Publicado el 07/11/2018 a las 22:43
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Yo estaba teniendo el mismo problema (similar?) Que conecta a Azure Redis con ServiceStack, al final se estaba llevando a cabo la sintaxis correcta para la conexión que funcionó para mí. XXX.redis.cache.windows.net?ssl=true

Encontró un poco de ayuda aquí https://github.com/ServiceStack/ServiceStack.Redis , pero citar la sección de cadenas de conexión tenía ejemplos;

"Las cadenas de conexión Redis se han ampliado para soportar el formato más versátil URI que ahora es capaz de capturar la mayor parte de la configuración del cliente Redis en una sola cadena de conexión (similar a cadenas de conexión de base de datos).

Redis cadenas de conexión soporta múltiples formatos de URI-como, a partir de un nombre de host o dirección IP sencilla y par de puertos a un URI totalmente calificado con múltiples opciones especificadas en la cadena de consulta ".

Algunos ejemplos de los formatos soportados:

localhost
127.0.0.1:6379
redis://localhost:6379
password@localhost:6379
clientid:password@localhost:6379
redis://clientid:password@localhost:6380?ssl=true&db=1

NOTA: He usado el ejemplo final aquí, pero sin la Redis: // bit como descubrí que esto no era necesario en Azure.

Respondida el 18/01/2019 a las 14:36
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more