public ICache GetCache(string cacheName, CacheDatabaseEnum cacheDatabaseType) { return(Caches.GetOrAdd(GetCacheName(cacheName, cacheDatabaseType), x => { var cache = CreateCacheImplementation(cacheName, cacheDatabaseType); SetCacheExpireTimeConfig(cache); return cache; })); }
public RedisCache(string cacheNane, IRedisCacheDatabaseProvider redisCacheDatabaseProvider, CacheDatabaseEnum cacheDatabaseType) : base(cacheNane, cacheDatabaseType) { _database = redisCacheDatabaseProvider.GetDatabase(cacheDatabaseType); _cacheName = cacheNane; }
/// <summary> /// 使用指定库 /// </summary> /// <param name="cacheName"></param> /// <param name="cacheDatabaseType"></param> protected CacheBase(string cacheName, CacheDatabaseEnum cacheDatabaseType) { CacheName = cacheName; CacheDatabaseEnum = cacheDatabaseType; }
/// <summary> /// 获取指定库 /// </summary> /// <param name="cacheDatabaseType"></param> /// <returns></returns> public IDatabase GetDatabase(CacheDatabaseEnum cacheDatabaseType) { return(_connectionMultiplexer.GetDatabase((int)cacheDatabaseType)); }
/// <summary> /// </summary> /// <param name="cacheName"></param> /// <param name="cacheDatabaseType"></param> /// <returns></returns> public abstract ICache CreateCacheImplementation(string cacheName, CacheDatabaseEnum cacheDatabaseType);
/// <summary> /// 获取缓存名称 /// </summary> /// <param name="cacheName"></param> /// <param name="cacheDatabaseType"></param> /// <returns></returns> private string GetCacheName(string cacheName, CacheDatabaseEnum cacheDatabaseType) { return($"db:{cacheDatabaseType}:{cacheName}"); }
public override ICache CreateCacheImplementation(string cacheName, CacheDatabaseEnum cacheDatabaseType) { return(new RedisCache(cacheName, _redisCacheDatabaseProvider, cacheDatabaseType)); }