Memcached在.NET中的应用(转载)

来源:互联网 发布:交通大学网络教育好吗 编辑:程序博客网 时间:2024/04/28 19:07

Memcached在.NET中的应用

先熟悉一下Memcached.ClientLibrary 这个.NET环境下的API
$$-SockIOPool-$$
客户端到memcached服务器端的socket连接池
创建连接池
SockIOPool pool = SockIOPool.GetInstance(); // = SockIOPool pool = SockIOPool.GetInstance("default pool");
设置连接池管理的链接
pool.SetServers(["192.168.1.2:11211","192.168.1.3:11211"]); // = poo.SetServers(new ArrayList(["192.168.1.2:11211","192.168.1.3:11211"]));
设置连接池的初始容量,最小容量,最大容量,Socket 读取超时时间,Socket连接超时时间
pool.InitConnections = 3; // default 3
pool.MinConnections = 3; // default 3
pool.MaxConnections = 5;// default 5
pool.SocketConnectTimeOut = 50; // default 50,25 倍数 
pool.SocketTimeOut = 3000; //
到上面为止只是设置了基础属性,pool里面还没有供你可以使用的socket
poo.Initialize(); // 此时容器才正式初始化,此外还有一些辅助和状态判断的方法属性,略
$$-SockIO-$$
Socket的包装类,SockIOPool里面装的就是它
$$-MemcachedClient-$$
主要通过这个类来操作内存数据这是我们主要使用的API
功能:设置,添加,删除,替换,压缩、解压缩数据
创建
MemcachedClient mc = new MemcachedClient();
修改数据
string key = "key1";
string value = "value1";
mc.add(key,value);
mc.set(key,value); // 存在=raplace,不存在=add
mc.replace(key,value);
获取
mc.get(key);
mc.getMulti({"key1","key2"});
删除
mc.delete(key);
全部清除
mc.FlushAll();
当作计数器
mc.storeCount(key,counter);//counter计数器 long型

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。通过memcached协议与守护进程通信。

memcached-Server端

在服务端运行:

  # ./memcached -d -m 2048 -l 10.0.0.40 -p 11211

  这将会启动一个占用2G内存的进程,并打开11211端口用于接收请求。由于32位系统只能处理4G内存的寻址,所以在大于4G内存使用PAE的32位服务器上可以运行2-3个进程,并在不同端口进行监听。

 memcached-Client端

先熟悉一下Memcached.ClientLibrary 这个.NET环境下的API
$$-SockIOPool-$$
客户端到memcached服务器端的socket连接池
创建连接池SockIOPool pool = SockIOPool.GetInstance(); 等价于 SockIOPool pool = SockIOPool.GetInstance("default pool");

设置连接池管理的链接pool.SetServers(["192.168.1.2:11211","192.168.1.3:11211"]); 等价于poo.SetServers(new ArrayList(["192.168.1.2:11211","192.168.1.3:11211"]));

设置连接池的初始容量,最小容量,最大容量,Socket 读取超时时间,Socket连接超时时间

pool.InitConnections = 3; // default 3

pool.MinConnections = 3; // default 3

pool.MaxConnections = 5;// default 5

pool.SocketConnectTimeOut = 50; // default 50,25 倍数 

pool.SocketTimeOut = 3000;

到上面为止只是设置了基础属性,pool里面还没有供你可以使用的

socketpoo.Initialize(); // 此时容器才正式初始化,此外还有一些辅助和状态判断的方法属性,略

 

$$-SockIO-$$
Socket的包装类,SockIOPool里面装的就是它

$$-MemcachedClient-$$
主要通过这个类来操作内存数据这是我们主要使用的API
功能:设置,添加,删除,替换,压缩、解压缩数据
创建MemcachedClient mc = new MemcachedClient();

修改数据string key = "key1";string value = "value1";

mc.replace(key,value);mc.add(key,value);mc.set(key,value); // 存在=raplace,不存在=add

mc.get(key);//获取

mc.getMulti({"key1","key2"});

mc.delete(key);//删除

mc.FlushAll();//全部清除

mc.storeCount(key,counter);//当作计数器,counter计数器 long型

原创粉丝点击