This is very similar to this question: Why are connections to Azure Redis Cache so high?
Here are the best practices we recommend for most customers:
- set abortConnect to false in your connection string
- create a singleton connectionMultiplexer and reuse it. This is sufficient for most scenarios. Some advanced scenarios may require creating multiple connectionMultiplexer objects per application, but most are fine with just one. I would recommend following the coding pattern shown here: https://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/#connect-to-the-cache
- Let the ConnectionMultiplexer handle reconnecting - don't do it yourself unless you have tested your code very thoroughly. Most connection leaks I have seen are because people are re-creating the connectionMultiplexer but fail to dispose the old one. In most cases, it is best to just let the multiplexer do the reconnecting.