2015-05-12 53 views
1

我試圖通過StackExchange.Redis庫實現Redis緩存服務。StackExchange.Redis懶惰連接配置

我Redis的客戶:

public class RedisClient 
    { 
     private static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(() => 
     { 
      return ConnectionMultiplexer.Connect(string.Format("{0},{1}", 
         ConfigurationManager.AppSettings.GetStringOrDefault("redis_masters", "someIP1:6379"), 
         ConfigurationManager.AppSettings.GetStringOrDefault("redis_slaves", "someIP2:6379"))); 
     }); 

     public static ConnectionMultiplexer GetConnection 
     { 
      get 
      { 
       return lazyConnection.Value; 
      } 
     } 
    } 

,我要儘量讓這樣的連接:

using (var redis = RedisClient.GetConnection) 
{ 
    ... 
} 

我得到異常:「這是不可能連接到Redis的服務器(S );要創建一個斷開的多路複用器,禁用AbortOnConnectFail。UnableToResolvePhysicalConnection PING「

我也嘗試添加一些配置這樣的連接:

ConnectionMultiplexer.Connect(string.Format("{0},{1},Ssl=false" 

,我得到另一個異常:「ValueFactory試圖訪問這個實例的Value屬性」。

我對Redis的連接工作正常與enother庫:"StackExchange.Redis" 我只是嘗試遷移是"ServiceStack.Redis" 我丟失了怎麼辦?在配置

回答

1

使用密碼

ConnectionMultiplexer.Connect("localhost,password=XXXXX");