using YiSha.Util; using YiSha.Cache.Interface; using YiSha.MemoryCache; using YiSha.RedisCache; namespace YiSha.Cache.Factory { public class CacheFactory { private static ICache cache = null; private static readonly object lockHelper = new object(); public static ICache Cache { get { if (cache == null) { lock (lockHelper) { if (cache == null) { switch (GlobalContext.SystemConfig.CacheProvider) { case "Redis": cache = new RedisCacheImp(); break; default: case "Memory": cache = new MemoryCacheImp(); break; } } } } return cache; } } } }