using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration.Provider;
using System.Collections.Specialized;
using System.Collections;

namespace ICaiBan.Framework.Core.Caching
{
    public abstract class CacheProvider : ProviderBase
    {               
        /// <summary>
        /// Ä¬ÈÏ¹ýÆÚÊ±¼ä£¬µ¥Î»£ºÃë
        /// </summary>
        public abstract long DefaultExpireTime { get;set;}
        /// <summary>
        /// ¼üÖµ¶ÔÓ¦µÄÏîÄ¿Ç°×º
        /// </summary>
        public abstract string KeySuffix { get; set; }
        /// <summary>
        /// Ôö¼Ó¼üÖµ¶Ô
        /// </summary>
        /// <param name="strKey"></param>
        /// <param name="objValue"></param>
        /// <returns></returns>
        public abstract bool Add(string strKey, object objValue);    
        public abstract bool Add(string strKey, object objValue, long lNumofSeconds);
        public abstract bool Add(string strKey, object objValue, TimeSpan timeSpan);
        public abstract object Get(string strKey);
        public abstract T Get<T>(string strKey);
        public abstract IDictionary<string, object> Get(params string [] keys); 
        public abstract void RemoveAll();
        public abstract bool Remove(string strKey);                
    }
}
