/// <summary>
 /// This method corresponds to the "flush_all" command in the memcached protocol.
 /// When this method is called, it will send the flush command to all servers, thereby deleting
 /// all items on all servers.
 /// </summary>
 /// <param name="memcachedClientName">配置的客户端名字</param>
 /// <returns>true, if success</returns>
 public bool FlushAll(string memcachedClientName)
 {
     lock (this)
     {
         return(MemcachedClient.GetInstance(memcachedClientName).FlushAll());
     }
 }
Exemple #2
0
        //2.Append test
        public void AppendTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Append("BeIt", " baz");
            HandleLogs("[Cmd=Append]BeIt:" + cache.Get("BeIt").ToString());
        }
Exemple #3
0
        public BaseUtils()
        {
            try
            {
                connectionString = GetConnString("constr");
            }
            catch
            {
                connectionString = "";
            }
            if (connectionString.ToLower().Contains("oledb"))
            {
                dbtype = "access";
                string p = System.Web.HttpContext.Current.Server.MapPath("~/");
                connectionString = connectionString.Replace("~/", p);
            }
            else if (connectionString.ToLower().Contains("server"))
            {
                dbtype = "mysql";
            }
            else
            {
                dbtype = "sqlserver";
            }

            if (RequestTool.GetConfigKey("IsOpenMemcache") == "True")
            {
                MemcacheInstance = MemcachedClient.GetInstance("Memcache");
            }
            else
            {
                MemcacheInstance = null;
            }
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        //static string ip2 = Barfoo.Library.Configuration.ConfigurationUtility.AppSettings<string>("MemcachedIp2", "124.172.232.48:8041");

        private static MemcachedClient GetService(string dbName)
        {
            if (_mCaches.ContainsKey(dbName) && _mCaches[dbName] != null)
            {
                return(_mCaches[dbName]);
            }
            var ips = new string[] { ip };

            /*
             * if (!string.IsNullOrEmpty(ip2))
             * {
             *  ips = new string[] { ip, ip2 };
             * }*/
            MemcachedClient.Setup(dbName, ips);
            var _mCache = MemcachedClient.GetInstance(dbName);

            _mCache.SendReceiveTimeout = 5000;
            _mCache.ConnectTimeout     = 5000;
            _mCache.MinPoolSize        = 1;
            _mCache.MaxPoolSize        = 100;
            if (!_mCaches.ContainsKey(dbName))
            {
                _mCaches[dbName] = _mCache;
            }
            return(_mCache);
        }
Exemple #5
0
        //7.Delete test
        public void DeleteTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Delete("castest");
            HandleLogs("[Cmd=Delete]castest:" + cache.CheckAndSet("castest", "a", 0));
        }
Exemple #6
0
 public static MemcachedClient GetMyOtherConfigInstance()
 {
     if (OtherCache == null)
     {
         lock (OtherCacheLock)
         {
             if (OtherCache == null)
             {
                 OtherCache                    = MemcachedClient.GetInstance("MyOtherConfigFileCache");
                 OtherCache.Duration           = 3600;
                 OtherCache.SendReceiveTimeout = 5000;
                 OtherCache.ConnectTimeout     = 5000;
                 OtherCache.MinPoolSize        = 1;
                 OtherCache.MaxPoolSize        = 5;
                 return(OtherCache);
             }
             else
             {
                 return(OtherCache);
             }
         }
     }
     else
     {
         return(OtherCache);
     }
 }
Exemple #7
0
        //12.Prepend test
        public void PrependTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Prepend("BeIt", "foo prepend");
            HandleLogs("[Cmd=Prepend]BeIt:" + cache.Get("BeIt").ToString());
        }
 /// <summary>
 /// This method corresponds to the "delete" command in the memcache protocol.
 /// It will immediately delete the given key and corresponding value.
 /// </summary>
 /// <param name="keyName"></param>
 /// <param name="memcachedClientName">配置的客户端名字</param>
 /// <returns>true, if success</returns>
 public bool Delete(string memcachedClientName, string keyName)
 {
     lock (this)
     {
         return(MemcachedClient.GetInstance(memcachedClientName).Delete(keyName));
     }
 }
 /// <summary>
 /// This method corresponds to the "set" command in the memcached protocol.
 /// It will unconditionally set the given key to the given value.
 /// Using the overloads it is possible to specify an expiry time
 /// </summary>
 /// <param name="memcachedClientName">配置的客户端名字</param>
 /// <param name="keyName"></param>
 /// <param name="value"></param>
 /// <param name="expireTime">returns true if the value was successfully set.</param>
 /// <returns></returns>
 public bool Set(string memcachedClientName, string keyName, object value, TimeSpan expireTime)
 {
     lock (this)
     {
         return(MemcachedClient.GetInstance(memcachedClientName).Set(keyName, value, expireTime));
     }
 }
Exemple #10
0
        //13.Replace test
        public void ReplaceTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Replace("BeIt", "replaced");
            HandleLogs("[Cmd=Replace]BeIt:" + cache.Get("BeIt").ToString());
        }
Exemple #11
0
 public MemCached(string cacheName, string servers, int sendReceiveTimeout, int connectTimeout, uint minPoolSize, uint maxPoolSize, string region, TimeSpan defaultExpirationTime)
 {
     try
     {
         try
         {
             MemcachedClient.Setup(cacheName, servers.Split(','));
         }
         catch (Exception e)
         {
             //LFFK.LogManager.Error(CacheConstants.Error_Init, e);
         }
         mc = MemcachedClient.GetInstance(cacheName);
         mc.SendReceiveTimeout = sendReceiveTimeout;
         mc.ConnectTimeout     = connectTimeout;
         mc.MinPoolSize        = minPoolSize;
         mc.MaxPoolSize        = maxPoolSize;
         mc.KeyPrefix          = region;
         CacheName             = cacheName;
         DefaultExpirationTime = defaultExpirationTime;
     }
     catch (Exception ex)
     {
         throw new Exception(Constants.Error_Data_InitConfigFailed, ex);
     }
 }
Exemple #12
0
        //14.Set test
        public void SetTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Set("BeIt", "happy");
            HandleLogs("[Cmd=Set]BeIt:" + cache.Get("BeIt").ToString());
        }
Exemple #13
0
        //1.Add test
        public String AddTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Add("BeIt", "123");
            return(HandleLogs("[Cmd=Add]BeIt:" + cache.Get("BeIt").ToString()));
        }
Exemple #14
0
        //9.Get test
        public void GetTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Set("liyanze", "Work harder, play happier!", 4711);
            HandleLogs("[Cmd=Get]liyanze:" + cache.Get("liyanze"));
        }
Exemple #15
0
        //15.get mutiple keys,同时获取多个key的value
        public String GetMutipleKeys()
        {
            //Get several values at once
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            object[] result = cache.Get(new string[] { "myinteger", "BeIt" });
            return(HandleLogs("[Cmd=Get]myinteger:" + result[0].ToString() + ",+ BeIt:" + result[1].ToString()));
        }
Exemple #16
0
        //11.Gets test
        public void GetsTest()
        {
            MemcachedClient cache  = MemcachedClient.GetInstance("BeITMemcached");
            ulong           unique = 0;

            cache.Gets("liyanze", out unique);
            HandleLogs("[Cmd=Gets]Getting cas unique for key liyanze:" + unique.ToString());
        }
Exemple #17
0
        //3.CheckAndSet test
        public void CheckAndSetTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.Set("castest", "a");
            //Trying to CAS key castest with the wrong unique
            HandleLogs("[Cmd=CheckAndSet]castest:" + cache.CheckAndSet("castest", "a", 0));
        }
Exemple #18
0
 /// <summary>
 /// 创建缓存池
 /// </summary>
 /// <param name="name">名称</param>
 /// <param name="servers">服务器</param>
 /// <param name="enable">是否可用</param>
 public MemCache(string name, string[] servers, bool enable)
 {
     if (!MemcachedClient.Exists(name))
     {
         MemcachedClient.Setup(name, servers);
     }
     cache       = MemcachedClient.GetInstance(name);
     this.enable = enable;
 }
Exemple #19
0
        //17.GetCounter 传递多个key值
        public void GetCounterMutiplekeys()
        {
            //Get several values at once
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.SetCounter("mycounter2", 365);
            ulong?[] result = cache.GetCounter(new string[] { "mycounter", "mycounter2" });
            HandleLogs("[Cmd=Gets]GetCounterMutiplekeys mycounter:" + result[0].ToString() + ",+ mycounter2:" + result[1].ToString());
        }
Exemple #20
0
        //6.Decrement the counter test
        public void DecrementTest()
        {
            MemcachedClient cache   = MemcachedClient.GetInstance("BeITMemcached");
            ulong?          counter = cache.Decrement("mycounter", 9000);

            if (counter.HasValue)
            {
                HandleLogs("[Cmd=Decrement]mycounter:" + counter.Value.ToString());
            }
        }
        public static MemcachedClient DefaultClient()
        {
            if (defaultInstance == null)
            {
                MemcachedClient.Setup(defaultCacheName, new string[] { "localhost" });
                defaultInstance = MemcachedClient.GetInstance(defaultCacheName);
            }

            return(defaultInstance);
        }
Exemple #22
0
        //16.Gets,同时获取多个key的unique
        public void GetsMutipleKeys()
        {
            //Get several values at once
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            ulong[] unique = new ulong[2] {
                0, 0
            };
            object[] result = cache.Gets(new string[] { "myinteger", "BeIt" }, out unique);
            HandleLogs("[Cmd=Gets] GetsMutipleKeys myinteger unique:" + unique[0].ToString() + ",+ BeIt unique:" + unique[1].ToString());
        }
Exemple #23
0
        //5.Increment the counter test
        public String IncrementTest()
        {
            MemcachedClient cache   = MemcachedClient.GetInstance("BeITMemcached");
            ulong?          counter = cache.Increment("mycounter", 1);

            if (counter.HasValue)
            {
                return(HandleLogs("[Cmd=Increment]mycounter:" + counter.Value.ToString()));
            }
            return(null);
        }
        /// <summary>
        /// 根据键获取值
        /// </summary>
        /// <typeparam name="T">配置的客户端名字</typeparam>
        /// <param name="memcachedClientName"></param>
        /// <param name="keyName"></param>
        /// <returns></returns>
        public T Get <T>(string memcachedClientName, string keyName) where T : class
        {
            object result = null;

            lock (this)
            {
                result = MemcachedClient.GetInstance(memcachedClientName).Get(keyName);
            }

            return(result as T);
        }
Exemple #25
0
        public bool MemcacheClientInit()
        {
            MemcachedClient.Setup("BeITMemcached", new string[] { "127.0.0.1" });
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.SendReceiveTimeout = 5000;
            cache.ConnectTimeout     = 5000;
            cache.MinPoolSize        = 1;
            cache.MaxPoolSize        = 5;

            return(true);
        }
Exemple #26
0
 //1.Add test
 public void AddTest()
 {
     try
     {
         MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");
         cache.Add("BeIt", "123");
         HandleLogs("[Cmd=Add]BeIt:" + cache.Get("BeIt").ToString());
     }
     catch (Exception)
     {
     }
 }
Exemple #27
0
 public Memcached(string name, string[] servers)
 {
     try
     {
         _Instance = MemcachedClient.GetInstance(name);
     }
     catch
     {
         MemcachedClient.Setup(name, servers);
         _Instance = MemcachedClient.GetInstance(name);
     }
 }
Exemple #28
0
 public void Add(string key, object value, bool isExpiration = true)
 {
     mc = MemcachedClient.GetInstance(CacheName);
     if (isExpiration)
     {
         mc.Set(key, value, DefaultExpirationTime);
     }
     else
     {
         mc.Set(key, value);
     }
 }
Exemple #29
0
        //10.GetCounter test
        public void GetCounterTest()
        {
            MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached");

            cache.SetCounter("mycounter", 1213);
            ulong?counter = cache.GetCounter("mycounter");

            if (counter.HasValue)
            {
                HandleLogs("[Cmd=GetCounter]mycounter:" + counter.Value.ToString());
            }
        }
Exemple #30
0
 public CacheClient(string cachename, string host, string port)
 {
     this.port = port;
     //MemcachedClient.Exists(cachename)
     MemcachedClient.Setup(cachename, new string[] { host + ":" + port });
     _cache = MemcachedClient.GetInstance(cachename);
     //Console.WriteLine(_cache.Name);
     //Change client settings to values other than the default like this:
     _cache.SendReceiveTimeout = 5000;
     _cache.ConnectTimeout     = 5000;
     _cache.MinPoolSize        = 1;
     _cache.MaxPoolSize        = 5;
 }