/// <nodoc /> internal RedisGlobalStore( IClock clock, RedisContentLocationStoreConfiguration configuration, RedisDatabaseAdapter primaryRedisDb, RedisDatabaseAdapter secondaryRedisDb, RedisDatabaseAdapter primaryRedisBlobDb, RedisDatabaseAdapter secondaryRedisBlobDb, IMasterElectionMechanism masterElectionMechanism) { Contract.Requires(configuration.CentralStore != null); _clock = clock; Configuration = configuration; RaidedRedis = new RaidedRedisDatabase(Tracer, primaryRedisDb, secondaryRedisDb); var checkpointKeyBase = configuration.CentralStore.CentralStateKeyBase; _clusterStateKey = new ReplicatedRedisHashKey(checkpointKeyBase + ".ClusterState", this, _clock, RaidedRedis); MemoizationAdapter = new RedisMemoizationAdapter(RaidedRedis, configuration.Memoization); PrimaryBlobAdapter = new RedisBlobAdapter(primaryRedisBlobDb, _clock, Configuration); SecondaryBlobAdapter = new RedisBlobAdapter(secondaryRedisBlobDb, _clock, Configuration); _masterElectionMechanism = masterElectionMechanism; }
/// <nodoc /> public RedisGlobalStore(IClock clock, RedisContentLocationStoreConfiguration configuration, MachineLocation localMachineLocation, RedisDatabaseAdapter primaryRedisDb, RedisDatabaseAdapter secondaryRedisDb) { Contract.Requires(configuration.CentralStore != null); _clock = clock; _configuration = configuration; _raidedRedis = new RaidedRedisDatabase(Tracer, primaryRedisDb, secondaryRedisDb); var checkpointKeyBase = configuration.CentralStore.CentralStateKeyBase; _checkpointsKey = new ReplicatedRedisHashKey(configuration.GetCheckpointPrefix() + ".Checkpoints", this, _clock, _raidedRedis); _masterLeaseKey = new ReplicatedRedisHashKey(checkpointKeyBase + ".MasterLease", this, _clock, _raidedRedis); _clusterStateKey = new ReplicatedRedisHashKey(checkpointKeyBase + ".ClusterState", this, _clock, _raidedRedis); LocalMachineLocation = localMachineLocation; _blobAdapter = new RedisBlobAdapter(_raidedRedis.PrimaryRedisDb, TimeSpan.FromMinutes(_configuration.BlobExpiryTimeMinutes), _configuration.MaxBlobCapacity, _clock, Tracer); }
/// <nodoc /> internal RedisGlobalStore( IClock clock, RedisContentLocationStoreConfiguration configuration, RedisDatabaseAdapter primaryRedisDb, RedisDatabaseAdapter secondaryRedisDb, RedisDatabaseAdapter primaryRedisBlobDb, RedisDatabaseAdapter secondaryRedisBlobDb) { Contract.Requires(configuration.CentralStore != null); _clock = clock; Configuration = configuration; RaidedRedis = new RaidedRedisDatabase(Tracer, primaryRedisDb, secondaryRedisDb); var checkpointKeyBase = configuration.CentralStore.CentralStateKeyBase; _checkpointsKey = new ReplicatedRedisHashKey(configuration.GetCheckpointPrefix() + ".Checkpoints", this, _clock, RaidedRedis); _masterLeaseKey = new ReplicatedRedisHashKey(checkpointKeyBase + ".MasterLease", this, _clock, RaidedRedis); _clusterStateKey = new ReplicatedRedisHashKey(checkpointKeyBase + ".ClusterState", this, _clock, RaidedRedis); PrimaryBlobAdapter = new RedisBlobAdapter(primaryRedisBlobDb, _clock, Configuration); SecondaryBlobAdapter = new RedisBlobAdapter(secondaryRedisBlobDb, _clock, Configuration); }