Пример #1
0
        public async Task <IList <T> > GetAllAsync <T>(EnumRedisDb redisDb, IList <string> allKeys)
        {
            var values = await _redisCacheClient.GetDb((int)redisDb).GetAllAsync <T>(allKeys);

            var result = values.Values.ToList();

            return(result);
        }
        /// <summary>
        /// 更新缓存
        /// </summary>
        /// <typeparam name="TCacheObject"></typeparam>
        /// <param name="redisManager"></param>
        /// <param name="redisDb"></param>
        /// <param name="key"></param>
        /// <param name="cacheObject"></param>
        /// <param name="exoireTime"></param>
        /// <returns></returns>
        public static async Task <TCacheObject> UpdateAsync <TCacheObject>(
            this RedisManager redisManager,
            EnumRedisDb redisDb,
            string key,
            TCacheObject cacheObject,
            DateTimeOffset exoireTime)
        {
            await redisManager.AddAsync(redisDb, key, cacheObject, exoireTime);

            return(await redisManager.GetAsync <TCacheObject>(redisDb, key));
        }
        /// <summary>
        /// 获取或添加缓存
        /// </summary>
        /// <typeparam name="TCacheObject"></typeparam>
        /// <param name="redisDb"></param>
        /// <param name="key"></param>
        /// <param name="expireTime"></param>
        /// <param name="factory"></param>
        /// <param name="redisManager"></param>
        /// <returns></returns>
        public static async Task <TCacheObject> GetOrAddAsync <TCacheObject>(
            this RedisManager redisManager,
            EnumRedisDb redisDb,
            string key,
            DateTimeOffset expireTime,
            Func <TCacheObject> factory)
        {
            TCacheObject cacheObject;

            var result = await redisManager.GetAsync <TCacheObject>(redisDb, key);

            if (result == null)
            {
                cacheObject = factory.Invoke();

                await redisManager.AddAsync(redisDb, key, cacheObject, expireTime);
            }
            else
            {
                cacheObject = result;
            }

            return(cacheObject);
        }
Пример #4
0
 /// <summary>
 /// 通配符搜索键:
 /// key*,
 /// *key*,
 /// *key
 /// </summary>
 /// <param name="redisDb"></param>
 /// <param name="pattern"></param>
 /// <returns></returns>
 public async Task <IEnumerable <string> > SearchKeysAsync(EnumRedisDb redisDb, string pattern)
 {
     return(await _redisCacheClient.GetDb((int)redisDb).SearchKeysAsync(pattern));
 }
Пример #5
0
 public async Task <bool> ExistsAsync(EnumRedisDb redisDb, string key)
 {
     return(await _redisCacheClient.GetDb((int)redisDb).ExistsAsync(key));
 }
Пример #6
0
 public async Task <long> RemoveAllAsync(EnumRedisDb redisDb, IList <string> key)
 {
     return(await _redisCacheClient.GetDb((int)redisDb).RemoveAllAsync(key));
 }
Пример #7
0
 public async Task <T> GetAsync <T>(EnumRedisDb redisDb, string key)
 {
     return(await _redisCacheClient.GetDb((int)redisDb).GetAsync <T>(key));
 }
Пример #8
0
 public async Task <bool> AddAllAsync <T>(EnumRedisDb redisDb, IList <Tuple <string, T> > values, DateTimeOffset expireTime)
 {
     return(await _redisCacheClient.GetDb((int)redisDb).AddAllAsync(values, expireTime));
 }
Пример #9
0
 public async Task <bool> AddAsync <T>(EnumRedisDb redisDb, string key, T value, DateTimeOffset expireTime)
 {
     return(await _redisCacheClient.GetDb((int)redisDb).AddAsync(key, value, expireTime));
 }
Пример #10
0
        public async Task <ActionResult <Result <string> > > GetCacheObject(string key, EnumRedisDb redisDb)
        {
            var cacheObject = await _redisManager.GetAsync <string>(redisDb, key);

            return(Result <string> .Success(cacheObject));
        }