/// <summary> /// Initializes a new instance of the <see cref="RedisDatabase"/> class. /// </summary> /// <param name="connectionPoolManager">The connection pool manager.</param> /// <param name="serializer">The serializer.</param> /// <param name="serverEnumerationStrategy">The server enumeration strategy.</param> /// <param name="dbNumber">The database to use.</param> /// <param name="maxvalueLength">The max lenght of the cache object.</param> /// <param name="keyPrefix">The key prefix.</param> public RedisDatabase( IRedisCacheConnectionPoolManager connectionPoolManager, ISerializer serializer, ServerEnumerationStrategy serverEnumerationStrategy, int dbNumber, uint maxvalueLength, string keyPrefix = null) { Serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); this.serverEnumerationStrategy = serverEnumerationStrategy ?? new ServerEnumerationStrategy(); this.connectionPoolManager = connectionPoolManager ?? throw new ArgumentNullException(nameof(connectionPoolManager)); this.dbNumber = dbNumber; this.keyPrefix = keyPrefix; maxValueLength = maxvalueLength; }
/// <summary> /// 对象的新实例初始化 <see cref="RedisDatabase"/> class. /// </summary> /// <param name="connectionPoolManager">连接池管理器。</param> /// <param name="serializer">序列化</param> /// <param name="serverEnumerationStrategy">服务器枚举策略</param> /// <param name="dbNumber">要使用的数据库序号.</param> /// <param name="maxvalueLength">缓存对象的最大长度</param> /// <param name="keyPrefix">key前缀</param> public RedisDatabase( IRedisCacheConnectionPoolManager connectionPoolManager, ISerializer serializer, ServerEnumerationStrategy serverEnumerationStrategy, int dbNumber, uint maxvalueLength, string keyPrefix = null, ILogger logger = null, IMemoryCache memorycache = null) { _logger = logger ?? NullLogger <RedisDatabase> .Instance; Serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); this.serverEnumerationStrategy = serverEnumerationStrategy ?? new ServerEnumerationStrategy(); this.connectionPoolManager = connectionPoolManager ?? throw new ArgumentNullException(nameof(connectionPoolManager)); this.dbNumber = dbNumber; this.keyPrefix = keyPrefix; maxValueLength = maxvalueLength; _memorycache = memorycache; }
public RedisDatabase( IConnectionMultiplexer connectionMultiplexer, ISerializer serializer, ServerEnumerationStrategy serverEnumerationStrategy, IDatabase database, string keyPrefix = null) { this.serverEnumerationStrategy = serverEnumerationStrategy ?? new ServerEnumerationStrategy(); this.Serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); this.connectionMultiplexer = connectionMultiplexer ?? throw new ArgumentNullException(nameof(connectionMultiplexer)); Database = database; if (!string.IsNullOrWhiteSpace(keyPrefix)) { Database = Database.WithKeyPrefix(keyPrefix); } keyprefix = keyPrefix; }
public static IEnumerable<IServer> GetServers( ConnectionMultiplexer multiplexer, ServerEnumerationStrategy serverEnumerationStrategy) { switch (serverEnumerationStrategy.Mode) { case ServerEnumerationStrategy.ModeOptions.All: var serversAll = new ServerEnumerable(multiplexer, serverEnumerationStrategy.TargetRole, serverEnumerationStrategy.UnreachableServerAction); return serversAll; case ServerEnumerationStrategy.ModeOptions.Single: var serversSingle = new ServerEnumerable(multiplexer, serverEnumerationStrategy.TargetRole, serverEnumerationStrategy.UnreachableServerAction); return serversSingle.Take(1); default: throw new NotImplementedException(); } }
public static IEnumerable <IServer> GetServers( IConnectionMultiplexer multiplexer, ServerEnumerationStrategy serverEnumerationStrategy) { switch (serverEnumerationStrategy.Mode) { case ServerEnumerationStrategy.ModeOptions.All: var serversAll = new ServerEnumerable(multiplexer, serverEnumerationStrategy.TargetRole, serverEnumerationStrategy.UnreachableServerAction); return(serversAll); case ServerEnumerationStrategy.ModeOptions.Single: var serversSingle = new ServerEnumerable(multiplexer, serverEnumerationStrategy.TargetRole, serverEnumerationStrategy.UnreachableServerAction); return(serversSingle.Take(1)); default: throw new NotImplementedException(); } }