コード例 #1
0
        public DefaultLiteDBCachingProvider(
            string name,
            IEnumerable <ILiteDBDatabaseProvider> dbProviders,
            LiteDBOptions options,
            ILoggerFactory loggerFactory = null)
        {
            this._dbProvider = dbProviders.Single(x => x.DBProviderName.Equals(name));
            this._options    = options;
            this._logger     = loggerFactory?.CreateLogger <DefaultLiteDBCachingProvider>();
            this._litedb     = _dbProvider.GetConnection();
            this._cache      = _litedb.GetCollection <CacheItem>(name);
            this._cacheStats = new CacheStats();
            this._name       = name;

            this.ProviderName          = this._name;
            this.ProviderType          = CachingProviderType.LiteDB;
            this.ProviderStats         = this._cacheStats;
            this.ProviderMaxRdSecond   = _options.MaxRdSecond;
            this.IsDistributedProvider = true;

            _info = new ProviderInfo
            {
                CacheStats            = _cacheStats,
                EnableLogging         = options.EnableLogging,
                IsDistributedProvider = IsDistributedProvider,
                LockMs         = options.LockMs,
                MaxRdSecond    = options.MaxRdSecond,
                ProviderName   = ProviderName,
                ProviderType   = ProviderType,
                SerializerName = options.SerializerName,
                SleepMs        = options.SleepMs
            };

            InitDb();
        }
コード例 #2
0
 public LiteDBDatabaseProvider(string name, LiteDBOptions options)
 {
     this._name    = name;
     this._options = options.DBConfig;
 }