public CacheQuery(MySqlAdapter adapter, string queryTemplate, CacheOptions options) { this.queryTemplate = queryTemplate; this.adapter = adapter; cache = new MemoryCache(new MemoryCacheOptions() { SizeLimit = options.CacheSize }); entryOptions = new MemoryCacheEntryOptions() { AbsoluteExpirationRelativeToNow = options.AbsoluteExpirationRelativeToNow, SlidingExpiration = options.SlidingExpiration, Size = 1 }; }
/// <summary> /// /// </summary> /// <param name="adapter">MySqlAdapter адаптер</param> /// <param name="packegeSize">Размер пакета</param> /// <param name="table">Таблица для вставки</param> /// <param name="insertIgnore">Вставка с игнорированием</param> /// <param name="columns">Столбцы</param> public InsertBuffer(MySqlAdapter adapter, int packegeSize, string table, bool insertIgnore, params string[] columns) { this.packegeSize = packegeSize; this.adapter = adapter; queryBuilder = new StringBuilder($"INSERT {(!insertIgnore ? "INTO" : "IGNORE")} {table}(", 1000); for (int i = 0; i < columns.Length; i++) { queryBuilder.Append(columns[i]); queryBuilder.Append(','); } queryBuilder.Remove(queryBuilder.Length - 1, 1); queryBuilder.Append(") VALUES "); leftPartSize = queryBuilder.Length; }