Exemplo n.º 1
0
        public void Clear(CacheEnum cache)
        {
            List <CacheMessage> list = new List <CacheMessage>();

            if (messages.ContainsKey(cache.ToString()))
            {
                list = messages[cache.ToString()];
            }
            list.Clear();
        }
Exemplo n.º 2
0
        public List <CacheMessage> PopMessages(CacheEnum cache)
        {
            List <CacheMessage> list = new List <CacheMessage>();

            if (messages.ContainsKey(cache.ToString()))
            {
                list = messages[cache.ToString()];
            }
            return(list);
        }
Exemplo n.º 3
0
        public void PushMessage(CacheMessage message, CacheEnum cache)
        {
            List <CacheMessage> list = new List <CacheMessage>();

            if (messages.ContainsKey(cache.ToString()))
            {
                list = messages[cache.ToString()];
            }
            else
            {
                messages[cache.ToString()] = list;
            }
            list.Add(message);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 创建redis对象
        /// </summary>
        /// <returns></returns>
        public CacheClient CreateInstance()
        {
            CacheClient client = null;//获取Redis操作接口

            if (IsTrue)
            {
                switch (IsCacheName)
                {
                case CacheEnum.RedisCache:
                    client = new RedisCacheClient((DBEnum)RedisDB);
                    break;

                case CacheEnum.MemCache:
                    client = new MemCacheClient();
                    break;

                case CacheEnum.LocalCache:
                    client = new LocalClient();
                    break;
                }
            }
            else
            {
                cacheLog.Info(IsCacheName.ToString() + "缓存未启用");
            }
            return(client);
        }
Exemplo n.º 5
0
 /// <summary>
 /// 根据枚举获取Key值
 /// </summary>
 /// <param name="cacheEnum"></param>
 /// <param name="key"></param>
 /// <returns></returns>
 private static string GetKey(CacheEnum cacheEnum, string key)
 {
     return($"{ cacheEnum.ToString()}-{key}");
 }
Exemplo n.º 6
0
        /// <summary>
        /// 从xml文件获取redis配置信息
        /// </summary>
        /// <param name="path"></param>
        /// <param name="CacheName"></param>
        private void GetCacheConfig(CacheEnum CacheName)
        {
            XmlDocument xml = new XmlDocument();//声明xml

            xml.Load(AppDomain.CurrentDomain.BaseDirectory + XmlPath);
            XmlNodeList topM = xml.DocumentElement.ChildNodes;

            if (topM.Count < 0)
            {
                return;
            }
            foreach (XmlElement element in topM)
            {
                if (element.HasAttribute("Name") && element.Attributes["Name"].Value.ToLower() == CacheName.ToString().ToLower())
                {
                    IsTrue          = element.SelectSingleNode("IsTrue").InnerText.Trim().ToLower() == "true" ? true : false;
                    ReadServer      = element.SelectSingleNode("ReadServer").InnerText.Trim();
                    WriteServer     = element.SelectSingleNode("WriteServer").InnerText.Trim();;
                    RedisDB         = (DBEnum)Enum.Parse(typeof(DBEnum), element.SelectSingleNode("RedisDB").InnerText.Trim(), false);
                    RedisExpireTime = Convert.ToDateTime(element.SelectSingleNode("RedisExpireTime").InnerText.Trim()).Hour * 60 + Convert.ToDateTime(element.SelectSingleNode("RedisExpireTime").InnerText.Trim()).Minute;
                    IsCacheName     = CacheName;
                }
            }
        }