/// <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()); } }
//2.Append test public void AppendTest() { MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached"); cache.Append("BeIt", " baz"); HandleLogs("[Cmd=Append]BeIt:" + cache.Get("BeIt").ToString()); }
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; } }
/// <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); }
//7.Delete test public void DeleteTest() { MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached"); cache.Delete("castest"); HandleLogs("[Cmd=Delete]castest:" + cache.CheckAndSet("castest", "a", 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); } }
//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)); } }
//13.Replace test public void ReplaceTest() { MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached"); cache.Replace("BeIt", "replaced"); HandleLogs("[Cmd=Replace]BeIt:" + cache.Get("BeIt").ToString()); }
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); } }
//14.Set test public void SetTest() { MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached"); cache.Set("BeIt", "happy"); HandleLogs("[Cmd=Set]BeIt:" + cache.Get("BeIt").ToString()); }
//1.Add test public String AddTest() { MemcachedClient cache = MemcachedClient.GetInstance("BeITMemcached"); cache.Add("BeIt", "123"); return(HandleLogs("[Cmd=Add]BeIt:" + cache.Get("BeIt").ToString())); }
//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")); }
//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())); }
//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()); }
//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)); }
/// <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; }
//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()); }
//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); }
//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()); }
//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); }
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); }
//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) { } }
public Memcached(string name, string[] servers) { try { _Instance = MemcachedClient.GetInstance(name); } catch { MemcachedClient.Setup(name, servers); _Instance = MemcachedClient.GetInstance(name); } }
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); } }
//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()); } }
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; }