コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }