public Task <bool> AddAsync(CacheDescription description) { using (var entry = this._cache.CreateEntry(description.Key)) { entry.Value = description.Value; if (description.Limit == CacheLimit.Nothing) { entry.AbsoluteExpiration = null; entry.AbsoluteExpirationRelativeToNow = null; entry.SlidingExpiration = null; } else if (description.Limit == CacheLimit.Absolute) { entry.AbsoluteExpiration = description.GetDateTimeOffset(); } else { entry.SlidingExpiration = description.SlidingExpiration; } entry.Dispose(); } if (!this.keys.Contains(description.Key)) { this.keys.Add(description.Key); } return(Task.FromResult(true)); }
public async Task <bool> AddAsync(CacheDescription description) { bool result = false; await this.DatabaseOperation(async db => { var value = description.Value.ToJsonString(); result = await db.StringSetAsync(description.Key, value); this._logging.Debug($"添加缓存 '{description.Key}':{value}"); }); return(result); }