NET中的Memcached.ClientLibrary使用详解
2016-10-08 17:28
405 查看
memcached在windows下的下载与安装
下载地址:http://pan.baidu.com/s/1yVILw 提取密码:5gx9
下载完成后
1、打开SetupFile安装文件夹
class AMemcached { public MemcachedClient cache; public AMemcached(string poolName) { string[] servers = { "172.18.5.66:11211", "192.168.10.121:11211" }; //初始化池 SockIOPool pool = SockIOPool.GetInstance(poolName); //设置服务器列表 pool.SetServers(servers); //各服务器之间负载均衡的设置比例 pool.SetWeights(new int[] { 1, 10 }); //初始化时创建连接数 pool.InitConnections = 3; //最小连接数 pool.MinConnections = 3; //最大连接数 pool.MaxConnections = 5; //连接的最大空闲时间,下面设置为6个小时(单位ms),超过这个设置时间,连接会被释放掉 pool.MaxIdle = 1000 * 60 * 60 * 6; //socket连接的超时时间,下面设置表示不超时(单位ms),即一直保持链接状态 pool.SocketConnectTimeout = 0; //通讯的超时时间,下面设置为3秒(单位ms),.Net版本没有实现 pool.SocketTimeout = 1000 * 3; //维护线程的间隔激活时间,下面设置为30秒(单位s),设置为0时表示不启用维护线程 pool.MaintenanceSleep = 30; //设置SocktIO池的故障标志 pool.Failover = true; //是否对TCP/IP通讯使用nalgle算法,.net版本没有实现 pool.Nagle = false; //socket单次任务的最大时间(单位ms),超过这个时间socket会被强行中端掉,当前任务失败。 pool.MaxBusy = 1000 * 10; // 初始化一些值并与MemcachedServer段建立连接 pool.Initialize(); cache = new MemcachedClient(); //是否启用压缩数据:如果启用了压缩,数据压缩长于门槛的数据将被储存在压缩的形式 cache.EnableCompression = false; //压缩设置,超过指定大小的都压缩 //cache.CompressionThreshold = 1024 * 1024; //指定客户端访问的SockIO池 cache.PoolName = poolName; } } class Program { static void Main(string[] args) { //存入key为a,value为123的一个缓存 new AMemcached("me").cache.Add("b", 123); //读出key为a的缓存值 var s = new AMemcached("me").cache.Get("b"); //输出 Console.WriteLine(s); Console.ReadKey(); } }View Code Note:使用SocketIoPool的场景,假如你的系统中用到A,B两台机器memcached的缓存数据,而A,B是不相关的,没有数据互通共享,那么这个时候你就可以根据设置poolName来处理读写那台机器。而不用多处,重复配置客户端的各种参数。
4、说说memcached的故障转移处理
//设置SocktIO池的故障标志 pool.Failover = true;
Note:memcached的鼓掌转移是一套正常节点发生故障变为死节点时的处理机制。
1、开启故障转移:如果发生socket异常,则该节点被添加到存放死节点属性的_hostDead中,新请求被映射到dead server,检测尝试连接死节点的时间间隔属性_hostDeadDuration(默认设置为100ms),如果没有达到设定的间隔时间则key会被映射到可用的server处理,如果达到了时间间隔,则尝试重新链接,连接成功将此节点从_hostDead中去除,连接失败则间隔时间翻倍存放,下次重新连接时间会被拉长。
2、不开启故障转移:新的请求都会被映射到dead server上,尝试重新建立socket链接,如果连接失败,返回null或者操作失败。
5、说说key-value中的key与value
1、key在服务端的长度限制为250个字符,建议使用较短的key但不要重复。
2、value的大小限制为1mb,如果大拉,可以使用压缩,如果还大,那可能拆分到多个key中。
相关文章推荐
- #Memcached系列#(5)使用.NET memcached client library访问Memcached的一个C#控制台程序
- Memcached的.NET客户端(一)【.NET Memcached Client Library使用】
- memcached安装及.NET中的Memcached.ClientLibrary使用详解
- memcached安装及.NET中的Memcached.ClientLibrary使用详解
- C#:memcached安装及.NET中的Memcached.ClientLibrary使用详解
- memcached client - memcacheddotnet (Memcached.ClientLibrary) 1.1.5
- memcached安装及.NET中的Memcached.ClientLibrary使用
- 分布式缓存系统Memcached简介与实践(.NET memcached client library)
- 分布式缓存系统Memcached简介与实践(.NET memcached client library)
- DELPHI ClientData使用详解
- Android Design Support Library使用详解
- HttpClient使用详解
- HttpClient使用详解
- Asp.net中GridView使用详解(引)
- Asp.net中GridView使用详解
- memcached使用详解
- Android Design Support Library使用详解
- HttpClient使用详解
- 谈谈HttpClient使用详解
- memcached了解使用和常用命令详解